|
068d0e8563
|
Add array:to() to split out functionality of array:from()
|
2024-07-10 13:42:58 -04:00 |
|
|
10e86153a2
|
Replace array:slice() with array:from(first, last) and array:by(step)
|
2024-07-10 13:34:45 -04:00 |
|
|
a86dc05d36
|
Cache AST parsings so we don't have to re-parse files
|
2024-07-05 15:51:23 -04:00 |
|
|
f4dee58f03
|
Check for functions that don't return when they need to, as well as a
fix for 'when' statement typing
|
2024-07-04 18:27:08 -04:00 |
|
|
6a105fbd80
|
Add 'defer'
|
2024-07-04 18:00:01 -04:00 |
|
|
9d9fe12987
|
Add !! statement for printing text
|
2024-07-04 16:23:05 -04:00 |
|
|
22063462a9
|
Add __length and __negative metamethods
|
2024-07-04 13:37:23 -04:00 |
|
|
f391c929e5
|
Add math metamethods (__add, __sub, etc.)
|
2024-07-01 11:12:00 -04:00 |
|
|
8724dcd821
|
Fix issue with using libraries
|
2024-06-19 16:09:22 -04:00 |
|
|
5bfc15c975
|
Fix issue with binding 'foo := use baz'
|
2024-06-16 19:52:55 -04:00 |
|
|
ae538ba9eb
|
Properly produce an error for foo := use -lbaz
|
2024-06-16 18:43:37 -04:00 |
|
|
28de9aeb84
|
Deprecate '-l' as a command line flag but instead support 'use -lblah'
|
2024-06-16 18:40:34 -04:00 |
|
|
32e82fdbe3
|
Remove some dead code and support -l as a tomo flag
|
2024-06-16 18:09:54 -04:00 |
|
|
9f8be0c502
|
Support library name as a separate environment field from namespace
|
2024-06-16 16:08:35 -04:00 |
|
|
7a53e10826
|
Fix issue with type namespaces not getting properly prefixed by library
namespace
|
2024-06-16 15:12:00 -04:00 |
|
|
729d856139
|
Better error reporting
|
2024-06-14 13:45:01 -04:00 |
|
|
6f11f5cbb4
|
Replace non-identifier characters with '_' when generating prefixes
|
2024-06-13 22:56:45 -04:00 |
|
|
81d55cacb7
|
Do dynamic library symbol prefixing using 'patchelf'
|
2024-06-13 21:20:50 -04:00 |
|
|
dab2c399f1
|
Split import/use into separate concepts
|
2024-06-13 13:17:51 -04:00 |
|
|
5757a5023c
|
Support loading shared libraries
|
2024-06-13 12:59:19 -04:00 |
|
|
39ac885125
|
Change c/header transpilation order and fix some issues
|
2024-06-08 14:39:52 -04:00 |
|
|
f834073264
|
Fix issue with importing modules
|
2024-06-06 16:36:49 -04:00 |
|
|
fdaadee133
|
Fix imported symbol prefixes
|
2024-05-31 20:32:02 -04:00 |
|
|
8df8f5bb82
|
Changes to dependency tracking, compilation, and object linking
|
2024-05-28 00:30:09 -04:00 |
|
|
308946e794
|
Switch optional detection to use 'when .. is @..' instead of 'if .. :=
..'; also fixed a bug with stack memory in doctests
|
2024-05-24 00:03:46 -04:00 |
|
|
fba2b99b65
|
Support 'while when'
|
2024-05-23 12:40:21 -04:00 |
|
|
2d0834f1d8
|
Better error message
|
2024-05-22 13:34:32 -04:00 |
|
|
b1db4fd0f6
|
Improve codegen for enums and structs (change $tag$Foo$Baz to
Foo$tag$Baz)
|
2024-05-21 20:14:57 -04:00 |
|
|
b0d1daa0f3
|
Fix up some binding order issues and also some inline C issues with
heap_pop()
|
2024-05-19 01:46:30 -04:00 |
|
|
4f2421aeea
|
Tweak inline C code
|
2024-05-18 21:18:08 -04:00 |
|
|
1df26851d7
|
Add syntax for "inline C(...)"
|
2024-05-18 16:31:34 -04:00 |
|
|
a1d18fd422
|
Add C string type
|
2024-05-18 14:38:41 -04:00 |
|
|
77fb880cc4
|
Better error messages
|
2024-05-14 13:42:06 -04:00 |
|
|
495a597ef6
|
Better error messages
|
2024-05-14 13:38:53 -04:00 |
|
|
1924f75647
|
Support corecursive structs
|
2024-05-14 13:30:46 -04:00 |
|
|
02fe49a764
|
Deprecate interfaces (RIP)
|
2024-05-12 20:13:19 -04:00 |
|
|
ff9f4fe6cf
|
Add TODO message
|
2024-05-12 16:27:03 -04:00 |
|
|
3481042259
|
Simplify interfaces by requiring all functions are pointer methods
|
2024-05-12 15:56:24 -04:00 |
|
|
4dbe046866
|
Add interface fields
|
2024-05-12 15:18:46 -04:00 |
|
|
d143c72b22
|
WIP, but functional interfaces
|
2024-05-12 13:50:06 -04:00 |
|
|
c2daf6a928
|
Clean up 'when' syntax
|
2024-05-01 13:53:51 -04:00 |
|
|
2e27b88c1b
|
Improved syntax for optionals
|
2024-04-30 13:18:47 -04:00 |
|
|
5910998a19
|
Don't import "main"
|
2024-04-25 12:51:04 -04:00 |
|
|
061ec4fd8f
|
Support naked 'use' statements
|
2024-04-24 13:53:37 -04:00 |
|
|
6308325252
|
Add constructor/casting for ints and nums
|
2024-04-23 13:12:49 -04:00 |
|
|
005427744d
|
Prevent shadowing variables
|
2024-04-23 13:04:31 -04:00 |
|
|
7a175d3b45
|
Catch namespace clobbering of types
|
2024-04-23 13:03:47 -04:00 |
|
|
fbb25decf0
|
Support struct literals as constants
|
2024-04-23 12:50:30 -04:00 |
|
|
3590bf3407
|
Better imports for types
|
2024-04-21 14:58:33 -04:00 |
|
|
3b0dce04a0
|
Add heapify(), heap_push(), and heap_pop()
|
2024-04-19 13:29:04 -04:00 |
|
|
e98f6854f5
|
Use leading underscore for file-local variables and functions instead of
"private" keyword
|
2024-04-17 13:44:01 -04:00 |
|
|
369c601a56
|
Invert escaping so user symbols get prepended with "$" and builtin
symbols don't
|
2024-04-16 13:50:07 -04:00 |
|
|
fae2b2caa0
|
Add array:sample()
|
2024-04-02 23:28:59 -04:00 |
|
|
95100469b6
|
Add array:sorted()
|
2024-04-02 13:13:33 -04:00 |
|
|
c73e96ff91
|
Add comparison operator <> and array method to sort by a custom
comparison function
|
2024-04-02 13:08:06 -04:00 |
|
|
04d9adc813
|
Switch naming convention to use '$' in symbols more
|
2024-03-29 12:54:31 -04:00 |
|
|
d94053ca77
|
Add array:reversed()
|
2024-03-26 14:59:52 -04:00 |
|
|
1c9d47c29f
|
Print ASTs as XML instead of janky custom syntax
|
2024-03-24 19:04:57 -04:00 |
|
|
5157988efa
|
Implement 'extern' functionality
|
2024-03-24 15:06:59 -04:00 |
|
|
f21fc700bb
|
Handle type namespaces in other modules
|
2024-03-22 01:52:00 -04:00 |
|
|
4592e95fa9
|
Pull namespaces from the type binding
|
2024-03-21 13:33:10 -04:00 |
|
|
a47bd2d569
|
Improvements to module imports
|
2024-03-19 23:29:32 -04:00 |
|
|
80ea0f8507
|
Corecursive modules
|
2024-03-19 14:30:40 -04:00 |
|
|
adbb07fdc2
|
Module imports
|
2024-03-19 14:22:03 -04:00 |
|
|
7c0a77df33
|
Handle function type annotations without returns better
|
2024-03-18 15:27:07 -04:00 |
|
|
6905f759e5
|
Empty enums use a singleton instead of a constructor
|
2024-03-17 22:06:55 -04:00 |
|
|
212dfa44ae
|
Fix error message
|
2024-03-17 21:49:52 -04:00 |
|
|
655b677895
|
Preface symbols with file prefix
|
2024-03-17 20:40:40 -04:00 |
|
|
46ee3fc0ef
|
Temporary fix for newlines between statements
|
2024-03-17 15:59:06 -04:00 |
|
|
a0faef7102
|
Support nested comprehensions
|
2024-03-17 15:26:25 -04:00 |
|
|
9932841530
|
Improve comprehensions for both arrays and tables
|
2024-03-17 14:46:36 -04:00 |
|
|
fdc3eadba2
|
Array comprehensions
|
2024-03-14 02:37:56 -04:00 |
|
|
a33f730617
|
Rearranging some files
|
2024-03-10 00:03:21 -05:00 |
|
|
cbdd357b41
|
Deprecate secret langs (just use one-member structs)
|
2024-03-09 19:02:13 -05:00 |
|
|
5131fdff62
|
Improve handling of secret text
|
2024-03-09 18:47:56 -05:00 |
|
|
2b83ab279d
|
Add langs to the language
|
2024-03-09 18:22:12 -05:00 |
|
|
b04a1b3090
|
Implement lambdas and closures
|
2024-03-09 16:03:38 -05:00 |
|
|
955f047e06
|
First pass at lambdas/closures
|
2024-03-09 14:02:19 -05:00 |
|
|
8427037bb9
|
Refactor table methods to take table structs where possible
|
2024-03-08 14:33:54 -05:00 |
|
|
55eacb8a04
|
Array methods
|
2024-03-08 14:25:17 -05:00 |
|
|
07c2b0ec26
|
Array methods
|
2024-03-08 14:23:16 -05:00 |
|
|
425466ce6e
|
Add 'if x := var' conditionals for optional pointers
|
2024-03-06 13:36:36 -05:00 |
|
|
38d5245a9a
|
Fix up some min/max stuff
|
2024-03-05 14:46:01 -05:00 |
|
|
558c8588ee
|
Fix default values for structs
|
2024-03-05 12:55:38 -05:00 |
|
|
103edd6362
|
Fix cyclic structs/enums
|
2024-03-05 12:49:13 -05:00 |
|
|
e29aa52460
|
Struct and enum methods and static members
|
2024-03-04 13:51:47 -05:00 |
|
|
8fab88c56f
|
Rename Str -> Text
|
2024-03-03 18:15:45 -05:00 |
|
|
ec7a9e5f10
|
Initial pass at namespacing
|
2024-03-03 13:04:50 -05:00 |
|
|
4dc70c84d4
|
First working method calls
|
2024-02-29 13:49:24 -05:00 |
|
|
8171a38b71
|
Add type namespaces
|
2024-02-29 13:28:39 -05:00 |
|
|
55d44fe9f2
|
Tweaks
|
2024-02-27 12:46:14 -05:00 |
|
|
8f5a40b944
|
Typecheck inline C code
|
2024-02-25 17:43:52 -05:00 |
|
|
70f7f15781
|
Implement reductions
|
2024-02-25 15:28:46 -05:00 |
|
|
5344789d8a
|
More stringent requirements on '&' refs
|
2024-02-25 14:17:37 -05:00 |
|
|
f7d403c358
|
WIP on stackrefs
|
2024-02-25 13:04:35 -05:00 |
|
|
106704b956
|
Improve enums with metamethods
|
2024-02-24 15:24:44 -05:00 |
|
|
e2520d817c
|
Type constructors are global
|
2024-02-24 14:41:59 -05:00 |
|
|
50fedc8f44
|
Fixing up structs
|
2024-02-24 14:29:40 -05:00 |
|
|
9aec32149f
|
Code cleanup for KeywordArg
|
2024-02-23 12:50:01 -05:00 |
|
|
9e2645ade7
|
Fix up keyword args and default args
|
2024-02-22 22:15:09 -05:00 |
|
|
54b8b7af12
|
Fix function compiling
|
2024-02-22 13:35:28 -05:00 |
|
|
bfdb2da9e1
|
Implement power (^)
|
2024-02-22 13:09:46 -05:00 |
|
|
663182abdf
|
Implement concatenation
|
2024-02-22 13:00:27 -05:00 |
|
|
2ecd8e11fd
|
Implement 'when' statement for matching on enums
|
2024-02-22 12:45:12 -05:00 |
|
|
f9cc44f145
|
Fixing up enums
|
2024-02-20 13:06:03 -05:00 |
|
|
eabff011ea
|
Add in '#' operator for length
|
2024-02-18 01:27:25 -05:00 |
|
|
221be79e88
|
Add enum as_string()
|
2024-02-18 01:00:47 -05:00 |
|
|
8f451d0271
|
Custom tostring functions working
|
2024-02-17 21:04:35 -05:00 |
|
|
26723deea2
|
Incremental fixes
|
2024-02-17 20:47:43 -05:00 |
|
|
b34c5c5774
|
Fix up doctests
|
2024-02-17 20:07:04 -05:00 |
|
|
d46925dbfa
|
Cleanup of builtins
|
2024-02-17 19:32:30 -05:00 |
|
|
7355b2f7fe
|
Change things up to use type params for all array and table methods
|
2024-02-17 18:38:29 -05:00 |
|
|
5c49314ed4
|
Add typechecking logic
|
2024-02-17 17:00:21 -05:00 |
|