12 Commits

Author SHA1 Message Date
Laurenz
2036663ed2 Capture variables in templates 🔍 2021-01-27 15:05:18 +01:00
Laurenz
ce8138c685 Scope variables in blocks 🏔️ 2021-01-27 11:50:51 +01:00
Laurenz
ac788f2082 Many more expressions 🥗
Boolean, equality, comparison and assignment expression parsing and evaluation.
2021-01-22 17:16:42 +01:00
Laurenz
84ba547c7c If expressions 🔀 2021-01-20 21:33:13 +01:00
Laurenz
d763f0f5a6 Split state and scopes, less ref-counting 🔀 2021-01-15 16:53:02 +01:00
Laurenz
aae67bd572 Move and rename many things 🚛 2021-01-03 00:12:09 +01:00
Laurenz
1c40dc42e7 Dynamic values, Types, Arrays, and Dictionaries 🚀
- Identifiers are now evaluated as variables instead of being plain values
- Constants like `left` or `bold` are stored as dynamic values containing the respective rust types
- We now distinguish between arrays and dictionaries to make things more intuitive (at the cost of a bit more complex parsing)
- Spans were removed from collections (arrays, dictionaries), function arguments still have spans for the top-level values to enable good diagnostics
2021-01-02 19:37:10 +01:00
Laurenz
13230db68c Fix some clippy warnings ✔ 2020-10-07 19:28:34 +02:00
Laurenz
ef8aa763fa Shorten some names ↔ 2020-10-04 20:22:11 +02:00
Laurenz
f4460f8abd Style nits 🎈 2020-10-04 19:21:35 +02:00
Laurenz
0f7c70fd93 Separate state and constraints 🧶 2020-10-04 19:06:20 +02:00
Laurenz
e676ab53dd Rename compute to eval ✏ 2020-10-01 15:13:04 +02:00