ccb46db89c
Fix for cached function args
2025-03-19 16:25:46 -04:00
6086b2dbda
Expose PathType as a proper enum
2025-03-18 17:00:30 -04:00
7f525588cb
Move to using a .build/ folder for generated files instead of foo.tm.c
...
in the same folder
2025-03-17 20:17:37 -04:00
0bba319126
Big overhaul:
...
- Clean up environment code using type strings instead of manually
defining types
- Add Commands module
- Move Shell lang into an example module that uses Commands module
- Fix some bugs with chained library dependencies
2025-03-17 19:29:28 -04:00
748a3c0cf8
Fix 'when' expressions
2025-03-17 18:34:37 -04:00
3eae595c17
Codegen improvements and fixes
2025-03-17 18:12:59 -04:00
88ab24c133
Bugfix for if var := value
syntax inside a lambda
2025-03-16 14:20:47 -04:00
500989cf55
Rename path root
to path type
2025-03-16 14:11:16 -04:00
469b1e0679
Fixes for opaque external structs
2025-03-16 13:35:58 -04:00
f51acef40e
Overhaul of Path so it uses root and array of components instead of
...
stringly typed
2025-03-15 14:22:11 -04:00
1f6e586b2a
Support external structs with namespaced methods (also C-strings are now
...
`const char*` instead of `char*`)
2025-03-11 17:49:04 -04:00
fb2d7b5379
Add extern structs
2025-03-11 17:03:03 -04:00
888a977132
Modify compile_type_info() so it no longer needs an env_t
2025-03-11 15:54:06 -04:00
e7035e6a86
Clean up doctest code a bit
2025-03-11 14:23:41 -04:00
26476a0b41
Remove unnecessary call to initialize()
2025-03-11 13:46:46 -04:00
d0efc4ae5a
For enums, switch enum.tag
and enum.$Foo
so it's now enum.$tag
and
...
`enum.Foo`
2025-03-11 13:32:11 -04:00
294b712e6d
Don't use '$' prefix for field names
2025-03-11 13:18:30 -04:00
bdc0b89265
Bugfix for header prefixes
2025-03-11 00:49:24 -04:00
8885d1fdcb
Bugfix for constructors not getting appropriate header
2025-03-11 00:40:08 -04:00
7c68fc9585
Fix some scoping issues with type methods and enum returns
2025-03-10 13:33:31 -04:00
eb8b501b95
For langs, do promotion to Text and text interpolation automatically and without adding quoting.
2025-03-10 12:55:01 -04:00
39dd1ca27d
Add convert
keyword for defining conversions
2025-03-10 12:42:45 -04:00
806e0d0554
Make it a compiler error to have an always-aborting function whose
...
return type is Void
2025-03-09 18:18:13 -04:00
46f9cebad1
Add _Noreturn hint for Abort functions
2025-03-09 18:11:40 -04:00
94ed28b4d1
Add better typechecking for Abort (and add Abort
as a user-reachable
...
type) and check for unreachable code
2025-03-09 17:52:48 -04:00
73e559fbe4
Support 'when' for literal values with equality checking
2025-03-06 18:37:08 -05:00
147e0f0269
Overhaul of constructors, making it more consistent and correct. Also
...
changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct
for unambiguity
2025-03-05 18:20:54 -05:00
cb7a20117c
Tweak usage so it's a bit more correct for this stuff
2025-03-02 00:49:35 -05:00
5cb66f2ba8
Bugfix for namespaced declarations that initialize and static
...
definitions
2025-03-01 22:14:32 -05:00
37e96dbda5
Change lang.text_content
to lang.text
2025-03-01 16:53:58 -05:00
fab0083129
Support post-hoc definitions of escaping rules for DSLs
2025-03-01 16:04:14 -05:00
90548ebb33
For debugging purposes, show qualified name (Foo.baz()
) in function
...
text
2025-03-01 15:43:24 -05:00
e81b7b998a
Fix stringification of function type
2025-02-28 19:30:40 -05:00
a94337bc11
Deprecate autoformatter
2025-02-21 15:19:19 -05:00
7a6abd4f8e
Tweak function registration API
2025-02-21 14:59:14 -05:00
91f66d80bb
Support arbitrary argument constructors
2025-02-20 17:13:50 -05:00
058a028aef
Switch to langs using constructors
2025-02-19 18:50:50 -05:00
b89291957a
Restructure compile_file() so it moves a bit more towards less usage of
...
side effects
2025-02-19 16:30:19 -05:00
c4479e4bd6
Add Int:onward() iterator
2025-02-13 15:21:00 -05:00
5be9559046
Deprecate Range datatype in favor of using iterator methods
2025-02-13 15:03:22 -05:00
481beaf40e
Fix sequencing issue with typedefs for structs/enums
2025-02-10 14:58:40 -05:00
15b9b3fe86
Add file info to headers
2025-02-10 14:13:44 -05:00
66eca49d18
Tweak set_binding()
API
2025-02-10 13:13:45 -05:00
be87d8169d
Convert the logic for finding closed variables to a more pure functional
...
style with fewer side effects
2025-02-09 13:57:54 -05:00
6310f05656
Remove dead code
2025-02-07 20:25:48 -05:00
812b1e4746
Add more source line info
2025-02-04 14:36:41 -05:00
32da3a3226
Add a _
prefix on variables so it's easier to debug in GDB
2025-02-04 14:16:06 -05:00
e06d7180d4
Add in source line information
2025-02-04 14:15:18 -05:00
0d8d109eaf
Bugfix for typechecking failure on table indexing, also improved codegen
...
for updates on tables
2025-01-31 14:36:30 -05:00
b783a218bb
Clean up codegen for cached functions (don't publicly define a struct type
...
for the cache key)
2025-01-30 13:58:49 -05:00