summaryrefslogtreecommitdiff
path: root/src/eval/mod.rs
AgeCommit message (Collapse)Author
2021-03-03Documentation fixes โœ”Laurenz
2021-03-03Show name of user-defined functions in representation ๐Ÿฆ‹Laurenz
2021-03-03Closures and function definitions ๐Ÿš€Laurenz
Supports: - Closure syntax: `(x, y) => z` - Shorthand for a single argument: `x => y` - Function syntax: `let f(x) = y` - Capturing of variables from the environment - Error messages for too few / many passed arguments Does not support: - Named arguments - Variadic arguments with `..`
2021-02-24Cleaner control flow in for loop evaluation ๐ŸงผLaurenz
2021-02-24While loops ๐Ÿ”Laurenz
2021-02-24Index + value iteration for arrays ๐ŸฆšLaurenz
2021-02-12Early quit loop when body returns error ๐Ÿ›‘Laurenz
2021-02-11Small fixes โ™ปLaurenz
2021-02-11Move span directly into diagnostics ๐ŸššLaurenz
2021-02-11Move all pretty printing into one module and pretty print values ๐Ÿฆ‹Laurenz
2021-02-09Add arguments value ๐Ÿ“Laurenz
2021-02-09Split evaluation and execution ๐Ÿ”ชLaurenz
2021-02-07Remove captured expression ๐Ÿ—‘๏ธLaurenz
2021-02-07Dry-clean visitor with a macro ๐ŸœLaurenz
2021-02-03Tidy up raw blocks ๐ŸงนLaurenz
- Better trimming (only trim at the end if necessary) - Fixed block-level layouting - Improved pretty printing - Flip inline variable to block - Flip inline variable to display for math formulas
2021-01-31Refresh tests ๐Ÿ”„Laurenz
2021-01-30Scoped for loop bindings ๐Ÿ”๏ธLaurenz
Previously for loop bindings were leaked until after the loop.
2021-01-30Capture variable by slot instead of value ๐ŸŽฃLaurenz
2021-01-30Moves captures visitor into separate file ๐ŸššLaurenz
2021-01-27Capture variables in templates ๐Ÿ”Laurenz
2021-01-27Always evaluate for loop to template ๐Ÿ”Laurenz
2021-01-27Scope variables in blocks ๐Ÿ”๏ธLaurenz
2021-01-26For loop patterns ๐ŸฆšLaurenz
2021-01-26For loops ๐Ÿ”Laurenz
(does not support key-value patterns yet)
2021-01-26Multi-expression blocks ๐Ÿ›๏ธLaurenz
2021-01-26Small improvements โ™ปLaurenz
2021-01-22Many more expressions ๐Ÿฅ—Laurenz
Boolean, equality, comparison and assignment expression parsing and evaluation.
2021-01-20Reorder and fix docs โœ”Laurenz
2021-01-20If expressions ๐Ÿ”€Laurenz
2021-01-17Spans for group and block contents ๐Ÿ“Laurenz
2021-01-15Split state and scopes, less ref-counting ๐Ÿ”€Laurenz
2021-01-13Unbounded pages ๐ŸŒŒLaurenz
2021-01-13Basic let bindings ๐ŸŽžLaurenz
2021-01-12Group and block expressions, unary plus ๐ŸงฉLaurenz
2021-01-10Braced content -> Bracketed templates โœLaurenz
2021-01-10Add angle value ๐Ÿ“Laurenz
2021-01-06Inline literal enum into expression enum ๐Ÿ”€Laurenz
2021-01-06Pretty printing ๐Ÿฆ‹Laurenz
- Syntax tree and value pretty printing - Better value evaluation (top-level strings and content are evaluated plainly, everything else is pretty printed)
2021-01-04None literal ๐Ÿ•ณLaurenz
2021-01-03Move and rename many things ๐Ÿš›Laurenz
2021-01-02Dynamic values, Types, Arrays, and Dictionaries ๐Ÿš€Laurenz
- 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-01A few small improvements โ™ปLaurenz
2021-01-01Better parser testing โœ…Laurenz
2020-12-27Add color enum ๐ŸŽจLaurenz
2020-12-21Restructure value conversions ๐ŸงฑLaurenz
2020-12-17Test [page] function ๐Ÿ“•Laurenz
- Make page break behaviour more consistent - Allow skipping reference image testing for single tests with `// compare-ref: false` (useful for tests which only check error messages)
2020-11-30Compress images in PDFs โš™Laurenz
2020-11-27Fix headings that are separated by only one newline ๐ŸšงLaurenz
Previously the following lead to only one line with both heading and body: ``` # Heading Body ```
2020-11-27Basic environment and resource loader ๐ŸžLaurenz
2020-11-24Use newly stabilized intra doc links โ†ฉLaurenz