16 Commits

Author SHA1 Message Date
Laurenz
072e7c710c Reduce namespace pollution 2021-11-02 10:39:45 +01:00
Laurenz
3968181622 Replace .. syntax with range function 2021-10-25 13:38:32 +02:00
Laurenz
3d0dcbea18 Error on out-of-range values in rgb 2021-10-05 19:55:15 +02:00
Laurenz
ae05dc0876 Always use first positional argument in expect()
This changes `#h(100)` from "missing argument: spacing" to "expected linear, found integer".
2021-10-05 19:45:38 +02:00
Laurenz
0a23bfbc23 Add assert function 2021-10-05 19:37:38 +02:00
Laurenz
3481d8cc81 More utility functions
- join("a", "b", "c", sep: ", ")
- int("12")
- float("31.4e-1")
- str(10)
- sorted((3, 2, 1))
2021-08-31 12:59:53 +02:00
Laurenz
ee84bf7408 Add abs() function 2021-08-30 16:59:09 +02:00
Laurenz
ff25573224 Lower- and uppercase string conversion functions 2021-08-30 16:39:16 +02:00
Laurenz
6ae6d86b9c Separate type for string values 2021-08-14 15:55:39 +02:00
Laurenz
fbd3d19113 Call args span now includes parens 2021-07-31 22:41:06 +02:00
Laurenz
1ee1d078e2 Fatal errors
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free
- Parsing still recovers and can produce multiple errors
- Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import)
- The single error that could occur during execution is removed for now
- Removes Value::Error variant
2021-07-30 18:49:19 +02:00
Laurenz
891e0c5fa6 Remove warnings from parsing and casting 2021-07-10 23:14:46 +02:00
Laurenz
9950627789 Even shorter error annotations
Error annotations are now relative to the first following non-comment line.
2021-07-09 10:50:25 +02:00
Laurenz
17e8946884
Remove color literals (#39) 2021-06-30 22:32:24 +02:00
Laurenz
6967c6c80a Len function for strings, arrays and dictionaries 2021-06-18 10:50:08 +02:00
Laurenz
5611c26577 Restructure tests 2021-06-10 16:46:01 +02:00