Commit Graph

1719 Commits

Author SHA1 Message Date
3406515a44 Make string escapes more normal: "\n" for newline, etc. Backticks can be
used to put in literal code without escape sequences.
2025-04-06 22:26:12 -04:00
d8afa73368 Improved inline C code: now uses C_code keyword and supports
interpolation with @
2025-04-06 21:43:19 -04:00
f4020db2f0 Fix for empty nums 2025-04-06 21:21:42 -04:00
be69dba58e Fix for empty fixed-with integers 2025-04-06 21:19:40 -04:00
6cf980ea71 Add continue and break as aliases for skip/stop, also improve
keyword detection using a binary search
2025-04-06 20:07:09 -04:00
1d2e55f53d Allow uninitialized variables when there's a sensible empty value
(defaults to empty/zero value)
2025-04-06 19:20:07 -04:00
bc93dea818 Remove dead code for handling Declare statments with Use inside 2025-04-06 19:14:21 -04:00
dd758d0a05 Fix default pretty visualization of codegen 2025-04-06 19:13:12 -04:00
ab3da1f73a Add a parser error for empty enum definitions 2025-04-06 19:01:33 -04:00
89754ac89d Make it a bit more ergonomic to make function types 2025-04-06 18:04:35 -04:00
e87e6dabfb Insert then for clarity 2025-04-06 16:49:40 -04:00
f69f862bf6 Explicitly support optional do for while and for loops 2025-04-06 16:41:58 -04:00
d046f4a57d Optional 'then' after 'if'/'when' clauses 2025-04-06 16:39:14 -04:00
6d12f1dce7 Merge branch 'main' into no-colons 2025-04-06 16:36:40 -04:00
52e50e58c6 Change Set syntax from {x} to |x| 2025-04-06 16:34:23 -04:00
2640c138b3 Merge branch 'main' into no-colons 2025-04-06 16:22:34 -04:00
6fda59fd5e Fixes for printing sets and tables 2025-04-06 16:22:21 -04:00
83b7ca60ec Merge branch 'main' into no-colons 2025-04-06 16:18:43 -04:00
4bd353b188 Bugfix for default values for tables 2025-04-06 16:18:19 -04:00
a11340e9d2 Minor test fix 2025-04-06 16:08:10 -04:00
6782cc5570 No more colons for blocks 2025-04-06 16:07:23 -04:00
448e805293 Re-implement multiple patterns for when blocks 2025-04-06 15:09:44 -04:00
4043a99e0d Expand reducers so they support stuff like (+.abs(): nums) and
`(==.length: texts)`
2025-04-06 14:52:59 -04:00
2bb2ff871f Change method calls to use foo.baz() instead of foo:baz() 2025-04-06 14:20:18 -04:00
59845e610f Deprecate !! print statement 2025-04-06 13:40:17 -04:00
95633b1cc2 Reword test for clarity 2025-04-06 13:25:41 -04:00
3b4a0e8b90 Improve support for inferring the specific type of the self value in a
method call.
2025-04-06 13:22:22 -04:00
0a54b89653 Better error message 2025-04-06 00:28:38 -04:00
53f5178f71 Remove {} for empty sets 2025-04-05 10:51:07 -04:00
c9198cb480 More fixes 2025-04-05 02:29:11 -04:00
4299f6e243 More fixes 2025-04-05 02:26:18 -04:00
486f2153e8 Misc fixes 2025-04-05 02:13:24 -04:00
81316e0d97 Fix comparison with integer literals 2025-04-05 02:03:08 -04:00
e2ddd23b55 Fix some of the constructor logic 2025-04-05 01:54:39 -04:00
cb6a5f264c Fix up some tests and type_or_type 2025-04-05 01:43:20 -04:00
00fd2b9e67 Fix up tests 2025-04-05 01:08:12 -04:00
316eff8b4f Fix up more things 2025-04-05 01:07:09 -04:00
355ad95321 Fix remaining metamethods 2025-04-05 00:58:45 -04:00
f0b1a0f227 Fix metamethods for scaled_by and divided_by 2025-04-05 00:53:11 -04:00
7b735ab6fc Misc fixes 2025-04-04 18:29:09 -04:00
0b8074154e First working compile of refactor to add explicit typing to declarations
and support untyped empty collections and `none`s
2025-04-04 17:06:09 -04:00
fadcb45baf Allow specifying args like func foo(xs:[Int] = []) 2025-04-03 15:47:05 -04:00
2acc9c1f96 Allow empty table {} to work as an empty set literal in some cases 2025-04-03 15:42:07 -04:00
8ab991fba5 Allow using an untyped empty array/set/table literal for places where
the expected type is known
2025-04-03 15:40:57 -04:00
8d173710fe Deprecate heap_strf 2025-04-03 15:19:59 -04:00
cedae3039c Fix textual representation of table types 2025-04-03 15:01:23 -04:00
59993b8530 Add http-server to examples rule 2025-04-02 16:20:57 -04:00
2685c4c31f Move HTML into script 2025-04-02 16:19:57 -04:00
639de3e5df Update table syntax 2025-04-02 16:18:06 -04:00
6ec8f20fc5 Syntax change: table types are now: {K=V; default=...} and tables
use `{:K=V, ...; default=...}`
2025-04-02 16:14:20 -04:00