Commit Graph

258 Commits

Author SHA1 Message Date
934b843b1c Add .text_content as a field on DSLs instead of a method 2024-08-19 14:29:58 -04:00
4765bb4120 Update test to reflect new numeric precision 2024-08-19 12:40:29 -04:00
70d6a18f59 Add test for importing initialized values 2024-08-19 00:53:28 -04:00
8363d53bd2 Update channel API to take a Where parameter 2024-08-18 23:59:13 -04:00
9e07c6adc7 Add Channel:peek() 2024-08-18 23:31:36 -04:00
2e8c949fdc Rename push/pop to give/get, since it's not stack-ordered 2024-08-18 23:24:23 -04:00
7472837ee5 Add array:first(predicate:func(x:&T)->Bool)->@%T? 2024-08-18 22:28:04 -04:00
6f3b2c073a Add enum.tag as a way to do a boolean test for whether a value has a
particular tag or not
2024-08-18 20:58:36 -04:00
967b649da2 Deprecate # operator in favor of .length and fix up some issues 2024-08-18 20:39:57 -04:00
a49870f810 Add primality testing and next_prime()/prev_prime() 2024-08-18 15:22:51 -04:00
f4b04a1b8c Improved syntax for dollar-string literals 2024-08-18 14:44:15 -04:00
04603308af Tweak test code 2024-08-18 12:52:53 -04:00
bac188ce07 Change division and modulus to use euclidean division, plus fix up a few
integer bugs
2024-08-16 14:24:20 -04:00
ce6f312c94 Add binary search test 2024-08-15 14:01:36 -04:00
5a0502bdf5 Fix some edge cases 2024-08-13 14:13:02 -04:00
f4011eb489 Remove test 2024-08-13 02:46:56 -04:00
80af2ea547 Fixes 2024-08-13 02:21:21 -04:00
158a1c6ad2 More fixes 2024-08-13 02:09:18 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
c139ba2aae Fix old syntax 2024-08-12 17:43:01 -04:00
8b564f6dd1 Fix deadlock issue 2024-08-12 17:42:51 -04:00
d2f4d07585 Support channels with maximum size 2024-08-11 15:04:22 -04:00
2ecb5fe885 Add channels and threads 2024-08-11 14:47:34 -04:00
6d3d104363 Overhaul of operator metamethods 2024-08-10 20:50:15 -04:00
b37bd70b60 For tables, deprecate support for square bracket indexing and .default
values, replacing them with a `:bump()` function for tables with numeric
values. This means that counters can be implemented easily without the
need to mask complexity.
2024-08-10 16:03:41 -04:00
8d3d591312 Add Sets to the language 2024-08-10 15:15:38 -04:00
cb6cebf12e Add test for iterators 2024-08-10 14:52:53 -04:00
416300287f Add test for ranges 2024-08-10 14:52:42 -04:00
f78cd6357a Change table removal function to use values instead of references 2024-08-08 13:20:38 -04:00
279cd23143 Micro optimization for iterating over array ranges 2024-07-20 17:13:15 -04:00
fb95bbb1d4 Deprecate array:pairs() and switch iterator functions to use enums 2024-07-20 16:45:13 -04:00
d3f14cf53c Support nested lambda closures 2024-07-14 14:13:23 -04:00
f64aaf5960 Add array:pairs() 2024-07-13 18:05:14 -04:00
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
e51e6f840c Tweak syntax for debug prints 2024-07-05 01:55:02 -04:00
2c89f3385f Fixes for defer statements in lambdas 2024-07-04 18:09:33 -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
38622ccbec Change metamethod names 2024-07-04 13:40:09 -04:00
22063462a9 Add __length and __negative metamethods 2024-07-04 13:37:23 -04:00
ba66a51a9e Add multiline string literal test 2024-07-01 13:09:26 -04:00
7dc8189266 Add test for optionals 2024-07-01 12:30:22 -04:00
37a7beb28f Add test for metamethods 2024-07-01 12:30:07 -04:00
ed935eb882 Fix array_lvalue 2024-06-18 01:32:44 -04:00
f5dc37c86c Add test for array member assignment 2024-06-18 01:31:23 -04:00
7e261bea9b Fix 'use' test to use 'import' instead 2024-06-17 17:33:32 -04:00
bf3cdc3dfa Refine the parsing of blocks so it's always ':' [inline-block] [indent indented-block] 2024-05-23 13:09:59 -04:00
fba2b99b65 Support 'while when' 2024-05-23 12:40:21 -04:00
5b1960859f Hook up Text.has(), Text.trimmed(), Text.without() 2024-05-20 15:19:31 -04:00
1924f75647 Support corecursive structs 2024-05-14 13:30:46 -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
3c0a8f0b89 Syntax tweak: use ':' for blocks 2024-04-28 14:58:55 -04:00
6308325252 Add constructor/casting for ints and nums 2024-04-23 13:12:49 -04:00
5fd85d7e0b Add Num.mix() 2024-04-22 14:49:36 -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
63e6ba596a Change table syntax to {key:value} instead of {key=>value} 2024-04-13 13:39:44 -04:00
6c01eef851 Introducing the main() function 2024-04-12 13:09:31 -04:00
0f9c1f4eb4 Add corecursive func test 2024-04-10 11:53:18 -04:00
bec67efb11 Add test for array:sample() 2024-04-02 23:41:26 -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
d94053ca77 Add array:reversed() 2024-03-26 14:59:52 -04:00
5157988efa Implement 'extern' functionality 2024-03-24 15:06:59 -04:00
5f3dac786c Clean up codegen for empty tagged data 2024-03-17 22:17:21 -04:00
6905f759e5 Empty enums use a singleton instead of a constructor 2024-03-17 22:06:55 -04:00
47f627f5dd Update test 2024-03-17 21:48:53 -04:00
ccba8abf73 Add tests for nested comprehensions 2024-03-17 15:28:46 -04:00
9932841530 Improve comprehensions for both arrays and tables 2024-03-17 14:46:36 -04:00
5c2bb00baf Add conditional loop comprehension 2024-03-17 12:50:17 -04:00
341087026c More array tests 2024-03-17 12:49:28 -04:00
8847eaa660 Bugfix for looping 2024-03-14 02:44:37 -04:00
89d7098654 Add test for secret structs 2024-03-09 19:06:09 -05:00
170c0a4197 Add lang tests 2024-03-09 19:03:35 -05:00
2b83ab279d Add langs to the language 2024-03-09 18:22:12 -05:00
5cfc01ac09 Add function/caching test 2024-03-09 16:46:25 -05:00
00d4e98ba1 Extra lambda test 2024-03-09 16:08:03 -05:00
b04a1b3090 Implement lambdas and closures 2024-03-09 16:03:38 -05:00
a13f642679 Tweaking tests 2024-03-09 14:12:15 -05:00
1627a913a4 Lambda fixes/improvements 2024-03-09 14:09:18 -05:00
dfd38cdb69 Simple lambda test 2024-03-09 14:03:42 -05:00
06549741aa Tweaking array tests 2024-03-07 12:21:39 -05:00
6583221c0b More tests 2024-03-07 12:18:01 -05:00
cd1785b5cb Added test 2024-03-07 12:07:14 -05:00
4e6001fa55 Add num32 test 2024-03-07 12:00:16 -05:00
558c8588ee Fix default values for structs 2024-03-05 12:55:38 -05:00
0b7ca098ae Fix some bugs relating to NUL termination of strings 2024-03-04 01:34:12 -05:00
1f6aa4cac7 Add methods for text:clusters(), text:codepoints(), text:bytes() 2024-03-03 19:40:01 -05:00
dc04286e3a Unicode normalization for equality, hashing, tests, and printing 2024-03-03 19:12:53 -05:00
d8a533cdf0 Rename string test to text 2024-03-03 18:19:56 -05:00
8fab88c56f Rename Str -> Text 2024-03-03 18:15:45 -05:00
07f0a18136 Fix endptr stuff in parser 2024-03-03 17:52:22 -05:00
0fe255a7c1 Fix up unicode escapes 2024-03-03 17:49:40 -05:00
0c51ca73e0 String tests 2024-03-03 17:30:31 -05:00
94ab8c0ac6 Add some more tests 2024-03-03 17:24:46 -05:00
6a39b0cd3f Num tests 2024-03-03 17:23:54 -05:00
c607b97732 Add Num.near() function 2024-03-03 17:14:11 -05:00
c5f315e338 Num methods 2024-03-03 16:44:45 -05:00
0256972ca6 Fix test 2024-03-03 13:38:27 -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
18db0fcee8 Add test for table iteration 2024-02-25 14:41:28 -05:00
4fc026a727 Add tests for '#' on collections 2024-02-25 14:38:04 -05:00
d06c63c70c Table field access for .keys, .values, .default, .fallback 2024-02-25 14:35:25 -05:00
65f684fb6a Rename file extensions 2024-02-24 16:07:52 -05:00
71b7392b08 Enum table test 2024-02-24 15:32:55 -05:00
0591d3db3a Rename folder 2024-02-24 15:32:02 -05:00