| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-03-03 | Show name of user-defined functions in representation ๐ฆ | Laurenz | |
| 2021-03-03 | Closures 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-24 | While loops ๐ | Laurenz | |
| 2021-02-18 | Refresh parser ๐ | Laurenz | |
| 2021-02-11 | Move all pretty printing into one module and pretty print values ๐ฆ | Laurenz | |
| 2021-02-09 | Add arguments value ๐ | Laurenz | |
| 2021-02-09 | Split evaluation and execution ๐ช | Laurenz | |
| 2021-02-07 | Remove captured expression ๐๏ธ | Laurenz | |
| 2021-02-03 | Tidy 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-30 | Capture variable by slot instead of value ๐ฃ | Laurenz | |
| 2021-01-30 | New syntax ๐ | Laurenz | |
| - Everything everywhere! - Blocks with curly braces: {} - Templates with brackets: [] - Function templates with hashtag: `#[f]` - Headings with equals sign: `= Introduction` | |||
| 2021-01-27 | Capture variables in templates ๐ | Laurenz | |
| 2021-01-27 | Scope variables in blocks ๐๏ธ | Laurenz | |
| 2021-01-26 | For loop patterns ๐ฆ | Laurenz | |
| 2021-01-26 | More straightforward pretty printing tests ๐งน | Laurenz | |
| 2021-01-26 | Update comments ๐ | Laurenz | |
| 2021-01-26 | For loops ๐ | Laurenz | |
| (does not support key-value patterns yet) | |||
| 2021-01-26 | Multi-expression blocks ๐๏ธ | Laurenz | |
| 2021-01-22 | Many more expressions ๐ฅ | Laurenz | |
| Boolean, equality, comparison and assignment expression parsing and evaluation. | |||
| 2021-01-20 | Reorder and fix docs โ | Laurenz | |
| 2021-01-20 | If expressions ๐ | Laurenz | |
| 2021-01-17 | Spans for group and block contents ๐ | Laurenz | |
| 2021-01-15 | Move value tests + smarter number formatting ๐ข | Laurenz | |
| 2021-01-13 | Basic let bindings ๐ | Laurenz | |
| 2021-01-12 | Group and block expressions, unary plus ๐งฉ | Laurenz | |
| 2021-01-10 | Braced content -> Bracketed templates โ | Laurenz | |
| 2021-01-10 | Rename token modes โ | Laurenz | |
| 2021-01-10 | Add angle value ๐ | Laurenz | |
| 2021-01-09 | Add angle data type ๐ | Laurenz | |
| 2021-01-06 | Inline literal enum into expression enum ๐ | Laurenz | |
| 2021-01-06 | Pretty 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-04 | None literal ๐ณ | Laurenz | |
| 2021-01-03 | Move and rename many things ๐ | Laurenz | |
| 2021-01-02 | Dynamic 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 | |||
| 2020-12-31 | Parsing improvements ๐งฝ | Laurenz | |
| - Simplified scanner code - Peek eagerly - Skip whitespace and comments automatically in header mode - Parse simple block expressions - Move literal definitions into expression module - Raw resolving tests | |||
| 2020-12-27 | Refresh function call and dictionary syntax | Laurenz | |
| - No colon between function name and arguments, just whitespace - "Named" arguments (previously "keyword" arguments) use colon instead of equals sign | |||
| 2020-10-10 | Flatten ast module back into syntax module ๐ช | Laurenz | |
| 2020-10-02 | Refactor parser ๐ | Laurenz | |
| 2020-10-01 | Rename compute to eval โ | Laurenz | |
| 2020-10-01 | Flatten compute module | Laurenz | |
| 2020-10-01 | Reorganize ast types ๐ | Laurenz | |
| 2020-08-16 | Add Value type and replace dyn-nodes with call-exprs ๐ | Laurenz | |
| - In addition to syntax trees there are now `Value`s, which syntax trees can be evaluated into (e.g. the tree is `5+5` and the value is `10`) - Parsing is completely pure, function calls are not parsed into nodes, but into simple call expressions, which are resolved later - Functions aren't dynamic nodes anymore, but simply functions which receive their arguments as a table and the layouting context - Functions may return any `Value` - Layouting is powered by functions which return the new `Commands` value, which informs the layouting engine what to do - When a function returns a non-`Commands` value, the layouter simply dumps the value into the document in monospace | |||
| 2020-08-16 | Remove tuples and objects in favor of tables ๐ข | Laurenz | |
| This refactores the parser tests to make them more concise and flexible with regards to spans. | |||
| 2020-08-15 | Add table expressions with arg-parsing functions ๐ช | Laurenz | |
| 2020-08-15 | Take references in TryFromExpr ๐ญ | Laurenz | |
| 2020-08-15 | Rename Value trait into TryFromExpr โ | Laurenz | |
| 2020-08-14 | Add a syntax tree expression kind ๐ | Laurenz | |
| This allows bodies to be passed as regular arguments. | |||
| 2020-08-13 | Use equals sign instead of colon for objects ๐ | Laurenz | |
| 2020-08-03 | Formatting, documentation and small improvements ๐งฝ | Laurenz | |
| 2020-08-02 | Refactor model into tree ๐ | Laurenz | |
