5 Commits

Author SHA1 Message Date
Laurenz
bbb9ed07ff Better line spacing calculations ↕
- Only add line spacing between lines. Previously, line spacing was added below
  every line, making `#box[word]` higher than just `word`.
- Compute box height of text as `ascender - descender` so that the full word is
  contained in the box.
2021-03-10 10:20:01 +01:00
Laurenz
c94a18833f Closures and function definitions 🚀
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-03-03 17:53:40 +01:00
Laurenz
d5d187a8c2 Replace default fonts 🆕 2021-03-02 17:31:41 +01:00
Laurenz
f084165eab While loops 🔁 2021-02-24 21:29:32 +01:00
Laurenz
05727bfc3a Reorganize tests 🔀 2021-02-20 23:34:33 +01:00