|
4592e95fa9
|
Pull namespaces from the type binding
|
2024-03-21 13:33:10 -04:00 |
|
|
f142b4ae53
|
Fix issue with quoted string cords
|
2024-03-21 13:32:52 -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 |
|
|
71f4da18f2
|
Prevent mulitple imports
|
2024-03-19 14:23:48 -04:00 |
|
|
adbb07fdc2
|
Module imports
|
2024-03-19 14:22:03 -04:00 |
|
|
7b444cd824
|
Insert semicolons where they should go
|
2024-03-18 18:06:20 -04:00 |
|
|
43ce0f4c1b
|
Fix array:clear()
|
2024-03-18 18:03:41 -04:00 |
|
|
df2e01c15e
|
Add some better file comments
|
2024-03-18 12:47:07 -04:00 |
|
|
0f70411cbf
|
Fix doctests with functions
|
2024-03-17 22:08:05 -04:00 |
|
|
03b223ac51
|
Fix switch statement
|
2024-03-17 21:47:40 -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 |
|
|
46decc9232
|
Skip/stop for 'while' loops
|
2024-03-15 13:45:25 -04:00 |
|
|
bc92bb72c8
|
Simplify loop code
|
2024-03-15 13:38:25 -04:00 |
|
|
5cdaf3e3fa
|
Fancy skip/stop implementation
|
2024-03-15 13:35:30 -04:00 |
|
|
9454c5fa0d
|
Properly compile conditionals with abort types in them
|
2024-03-15 13:07:41 -04:00 |
|
|
6f70286a4b
|
Clean up codegen to not use macros
|
2024-03-14 13:50:24 -04:00 |
|
|
80ffb8044a
|
Better codegen for negation
|
2024-03-14 13:47:40 -04:00 |
|
|
ecf425fb9a
|
Rearrange expression/statement compilation code
|
2024-03-14 13:28:30 -04:00 |
|
|
d5d3f564bb
|
Remove some shadowed variables
|
2024-03-14 02:48:07 -04:00 |
|
|
8847eaa660
|
Bugfix for looping
|
2024-03-14 02:44:37 -04:00 |
|
|
fdc3eadba2
|
Array comprehensions
|
2024-03-14 02:37:56 -04:00 |
|
|
130ddc8ea0
|
Improve codegen for assignment doctests
|
2024-03-10 01:42:21 -05:00 |
|
|
a90f8581c3
|
Clean up doctesting for assignments
|
2024-03-10 00:59:42 -05:00 |
|
|
a33f730617
|
Rearranging some files
|
2024-03-10 00:03:21 -05:00 |
|
|
fcd1381e3d
|
Minor cleanups to get compilation working on clang
|
2024-03-09 23:21:44 -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 |
|
|
77c9669d41
|
Change lang stringification to include type name
|
2024-03-09 18:32:36 -05:00 |
|
|
2b83ab279d
|
Add langs to the language
|
2024-03-09 18:22:12 -05:00 |
|
|
69162964e0
|
Implement function caching
|
2024-03-09 16:44:02 -05:00 |
|
|
b04a1b3090
|
Implement lambdas and closures
|
2024-03-09 16:03:38 -05:00 |
|
|
42da91936e
|
Simplify reduction code a little bit
|
2024-03-09 14:54:36 -05:00 |
|
|
1627a913a4
|
Lambda fixes/improvements
|
2024-03-09 14:09:18 -05:00 |
|
|
955f047e06
|
First pass at lambdas/closures
|
2024-03-09 14:02:19 -05:00 |
|
|
b33aa8c11f
|
Back to using ARRAY_FOREACH
|
2024-03-09 02:53:20 -05:00 |
|
|
18ef4c5b3f
|
Table methods
|
2024-03-09 02:48:09 -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 |
|
|
fa66053e13
|
Use '$' for min/max variable
|
2024-03-07 12:15:38 -05:00 |
|
|
9479b3937c
|
Just use mathlib symbols, don't redefine them
|
2024-03-07 00:44:57 -05:00 |
|
|
425466ce6e
|
Add 'if x := var' conditionals for optional pointers
|
2024-03-06 13:36:36 -05:00 |
|
|
93b8e0ae17
|
Support more variants of looping over integers
|
2024-03-06 12:56:30 -05:00 |
|
|
03f8742eb7
|
Fix namespace initializers
|
2024-03-06 12:41:18 -05:00 |
|
|
211af05381
|
Fix up some array literal stuff with TCC
|
2024-03-06 02:27:01 -05:00 |
|
|
4968d45f5a
|
Fix array iteration by inlining
|
2024-03-06 02:15:23 -05:00 |
|
|
38d5245a9a
|
Fix up some min/max stuff
|
2024-03-05 14:46:01 -05:00 |
|
|
e29aa52460
|
Struct and enum methods and static members
|
2024-03-04 13:51:47 -05:00 |
|
|
0b7ca098ae
|
Fix some bugs relating to NUL termination of strings
|
2024-03-04 01:34:12 -05:00 |
|
|
dc04286e3a
|
Unicode normalization for equality, hashing, tests, and printing
|
2024-03-03 19:12:53 -05:00 |
|
|
23478e7036
|
Rename as_str -> as_text
|
2024-03-03 18:16:33 -05:00 |
|
|
8fab88c56f
|
Rename Str -> Text
|
2024-03-03 18:15:45 -05:00 |
|
|
0fe255a7c1
|
Fix up unicode escapes
|
2024-03-03 17:49:40 -05:00 |
|
|
9512eb74d2
|
Bugfix
|
2024-03-03 17:30:23 -05:00 |
|
|
2eafa7a4da
|
Fix issue with unnamed args getting name flag
|
2024-03-03 17:21:55 -05:00 |
|
|
32f27b6206
|
Fix table literals
|
2024-03-03 16:08:38 -05:00 |
|
|
5486cdcedb
|
Only put 'pragma once' in compiled header file
|
2024-03-03 15:22:22 -05:00 |
|
|
b8640a2c30
|
Bugfix for module name parsing
|
2024-03-03 15:18:15 -05:00 |
|
|
2a7cfd7c36
|
Fix table literal issue for TCC compatibility
|
2024-03-03 15:14:59 -05:00 |
|
|
ea7fcd85b4
|
Make load method be "use$name"
|
2024-03-03 15:04:36 -05:00 |
|
|
09b1d07d8b
|
Clean up transpiling into separate .c/.h files
|
2024-03-03 14:45:36 -05:00 |
|
|
fce79cf578
|
Wrap "&x" in parens to avoid ambiguity
|
2024-03-03 14:34:13 -05:00 |
|
|
c72d4ec8eb
|
Make constructors actually functions for enums
|
2024-03-03 14:12:40 -05:00 |
|
|
bf5a725345
|
Definitively go with "Int" and "Num" over "Int64" and "Num64", plus add
Int__bits()
|
2024-03-03 13:37:05 -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 |
|
|
ab17cf7539
|
Flip COW bit when dereferencing pointers
|
2024-02-29 13:00:28 -05:00 |
|
|
0f34bd8f53
|
Bump refcounts for .keys/.values
|
2024-02-29 12:54:29 -05:00 |
|
|
291a0ed40c
|
Simplify/clean up table iteration code
|
2024-02-29 12:45:10 -05:00 |
|
|
ec75208980
|
Fix up some import issues and improve arrays to use saturating refcounts
instead of .copy_on_write
|
2024-02-29 12:37:09 -05:00 |
|
|
805c26e65a
|
Pass typeinfos
|
2024-02-27 13:43:38 -05:00 |
|
|
ce0e1c25e2
|
Stop using namespace types
|
2024-02-27 13:39:12 -05:00 |
|
|
1e6df09900
|
Fix up some type namespace issues
|
2024-02-26 23:10:19 -05:00 |
|
|
115c75692b
|
Better error checking
|
2024-02-26 23:02:09 -05:00 |
|
|
32e3aba554
|
Remove comment
|
2024-02-25 16:32:45 -05:00 |
|
|
741617a17e
|
Add for-else block
|
2024-02-25 16:02:36 -05:00 |
|
|
70f7f15781
|
Implement reductions
|
2024-02-25 15:28:46 -05:00 |
|
|
d06c63c70c
|
Table field access for .keys, .values, .default, .fallback
|
2024-02-25 14:35:25 -05:00 |
|
|
7c889a4d0a
|
Properly check mutability of lvalues
|
2024-02-25 13:13:36 -05:00 |
|
|
f7d403c358
|
WIP on stackrefs
|
2024-02-25 13:04:35 -05:00 |
|
|
394f720fb0
|
Make stack references work with local vars
|
2024-02-25 12:24:38 -05:00 |
|
|
7704a95a0b
|
Implement obj[]
|
2024-02-25 12:20:25 -05:00 |
|
|
c2228bf986
|
Rename 'nextlang'->'tomo'
|
2024-02-24 16:06:49 -05:00 |
|
|
dbad340c29
|
Bugfix table compilation
|
2024-02-24 15:39:33 -05:00 |
|
|
106704b956
|
Improve enums with metamethods
|
2024-02-24 15:24:44 -05:00 |
|
|
c9cd667450
|
Fix some string literal stuff and table default stuff
|
2024-02-24 14:36:08 -05:00 |
|
|
50fedc8f44
|
Fixing up structs
|
2024-02-24 14:29:40 -05:00 |
|
|
a4c3faa525
|
Split struct code into a separate file
|
2024-02-24 13:27:49 -05:00 |
|
|
8bee541c76
|
Support ++= item
|
2024-02-23 13:47:06 -05:00 |
|
|
87bc0cfdbd
|
Fix up some ++ stuff for arrays
|
2024-02-23 13:29:20 -05:00 |
|
|
9f56266ae4
|
Implement Array__concat and ++=
|
2024-02-23 13:24:06 -05:00 |
|
|
9aec32149f
|
Code cleanup for KeywordArg
|
2024-02-23 12:50:01 -05:00 |
|
|
197da905f5
|
Add TODO
|
2024-02-22 23:14:23 -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 |
|
|
58b3b84bd9
|
Fix up some update operators
|
2024-02-22 13:26:43 -05:00 |
|
|
f9df7afb8d
|
Fix comparisons
|
2024-02-22 13:18:47 -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 |
|
|
69d41fa068
|
Add source information to runtime errors
|
2024-02-18 14:53:52 -05:00 |
|
|
095970170c
|
Implement indexing
|
2024-02-18 14:28:35 -05:00 |
|
|
88261bcbbd
|
Fix single-thing iteration
|
2024-02-18 04:27:52 -05:00 |
|
|
5ce55a6a29
|
Better table literals
|
2024-02-18 04:26:26 -05:00 |
|
|
30c34a7243
|
Use known types instead of $var macro
|
2024-02-18 02:42:40 -05:00 |
|
|
bd0a618f4c
|
Type compiling stuff
|
2024-02-18 02:34:39 -05:00 |
|
|
6d54150755
|
Split module code into header/c file
|
2024-02-18 02:22:31 -05:00 |
|
|
0d3022b34a
|
Move file compilation into a separate file
|
2024-02-18 02:17:44 -05:00 |
|
|
1b5a95c30d
|
Trim codegen
|
2024-02-18 02:12:44 -05:00 |
|
|
eabff011ea
|
Add in '#' operator for length
|
2024-02-18 01:27:25 -05:00 |
|
|
733ebfd234
|
Fix up some Str stuff
|
2024-02-18 01:03:23 -05:00 |
|
|
221be79e88
|
Add enum as_string()
|
2024-02-18 01:00:47 -05:00 |
|
|
d502f5e552
|
Clean up struc stringifying
|
2024-02-18 00:49:23 -05:00 |
|
|
24a703199b
|
Compile tables
|
2024-02-18 00:12:23 -05:00 |
|
|
fbf39cd7e9
|
Various fixes, including for Null values
|
2024-02-17 23:43:55 -05:00 |
|
|
86f3a80544
|
Split out parts into appropriate headers
|
2024-02-17 23:27:02 -05:00 |
|
|
9564118202
|
Fix some more alignment issues and partial rename of Type_type
|
2024-02-17 22:09:44 -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 |
|
|
6fcc7840d1
|
Clean up more binops
|
2024-02-17 20:25:31 -05:00 |
|
|
7cbd200624
|
Clean up some binops to use generic ops
|
2024-02-17 20:21:01 -05:00 |
|
|
b34c5c5774
|
Fix up doctests
|
2024-02-17 20:07:04 -05:00 |
|
|
dd2de31666
|
Fix up USE_COLOR
|
2024-02-17 19:52:37 -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 |
|
|
dbd7502a1d
|
Fix up some builtins
|
2024-02-17 17:29:56 -05:00 |
|
|
5c49314ed4
|
Add typechecking logic
|
2024-02-17 17:00:21 -05:00 |
|
|
de3eeacfa0
|
Major cleanup
|
2024-02-17 16:56:19 -05:00 |
|
|
5d2d54ae0e
|
Tweak cord formatting
|
2024-02-17 14:47:14 -05:00 |
|
|
f156f915f4
|
Moving builtin strings over to cords
|
2024-02-16 13:29:02 -05:00 |
|
|
317b8f5319
|
Progress towards environments
|
2024-02-15 13:43:46 -05:00 |
|
|
0577469f9c
|
Bit flags for enums too
|
2024-02-14 23:45:37 -05:00 |
|
|
f2307aee53
|
Make bools more compact
|
2024-02-14 23:44:39 -05:00 |
|
|
2d9afed93a
|
Use dollar identifiers
|
2024-02-14 13:28:28 -05:00 |
|
|
1af5ab6d4e
|
Add #line directives for source code mapping
|
2024-02-14 00:19:16 -05:00 |
|
|
b71624abff
|
Fix floating point literals to be exactly precise
|
2024-02-13 23:37:24 -05:00 |
|
|
1f2b288b32
|
Slightly more concise generated code for ints
|
2024-02-13 23:12:20 -05:00 |
|
|
187cbc7610
|
Whitespace and ordering tweaks
|
2024-02-13 22:56:10 -05:00 |
|
|
85bd567d3c
|
Add kwargs as a macro hack
|
2024-02-13 22:13:54 -05:00 |
|
|
853b8e505e
|
Add secret structs
|
2024-02-13 20:27:19 -05:00 |
|
|
2e8f8b348a
|
Change compilation ordering by splitting into chunks
|
2024-02-13 14:42:33 -05:00 |
|
|
5de71394a3
|
Doctests for assignment
|
2024-02-13 13:32:08 -05:00 |
|
|
45d646be10
|
Improvements to cording
|
2024-02-13 13:15:28 -05:00 |
|
|
cf70dac0be
|
Fix multi-assignment
|
2024-02-13 13:08:00 -05:00 |
|
|
f3b9d577c2
|
Misc fixes for __stack, yes, no, etc
|
2024-02-12 03:00:31 -05:00 |
|
|
da1081387f
|
Fix doctests for declarations
|
2024-02-12 02:07:12 -05:00 |
|
|
ade25eeb5a
|
Add __cord() method for structs
|
2024-02-12 01:57:31 -05:00 |
|
|
e5cebad467
|
Hacky kwarg implementation
|
2024-02-12 01:48:45 -05:00 |
|
|
26c89b77db
|
Compile struct constructors and field accesses
|
2024-02-12 01:46:32 -05:00 |
|
|
2c5401aaf7
|
Deprecate Char type
|
2024-02-12 00:41:49 -05:00 |
|
|
ddd9f6e5d5
|
Fix operator precedence and boolification
|
2024-02-11 23:09:00 -05:00 |
|
|
1e8cdfa920
|
Changes to string parsing
|
2024-02-11 19:30:02 -05:00 |
|
|
37a0493b59
|
String literals as cords
|
2024-02-11 15:31:30 -05:00 |
|
|
23898b7618
|
Handle empty cords correctly
|
2024-02-11 15:22:32 -05:00 |
|
|
b099d51d2b
|
Min/max
|
2024-02-10 17:36:04 -05:00 |
|
|
b341e0481c
|
Remove extra semicolon
|
2024-02-10 17:21:43 -05:00 |
|
|
2c9ee0c629
|
String improvements
|
2024-02-10 15:33:35 -05:00 |
|
|
4e545c6798
|
Better string parsing.
|
2024-02-10 15:23:06 -05:00 |
|
|
930c09f46d
|
More features and progress
|
2024-02-08 00:52:18 -05:00 |
|
|
ee0f45e295
|
Rename type AST nodes
|
2024-02-05 13:22:30 -05:00 |
|
|
adde91636f
|
Builtins
|
2024-02-04 21:13:50 -05:00 |
|
|
b08a0d3e2b
|
Updates and functionality
|
2024-02-04 18:04:41 -05:00 |
|
|
98f0c51119
|
Initial commit
|
2024-02-04 15:23:59 -05:00 |
|