Commit Graph

224 Commits

Author SHA1 Message Date
bac188ce07 Change division and modulus to use euclidean division, plus fix up a few
integer bugs
2024-08-16 14:24:20 -04:00
04714e00d7 Add Bool:random(p=0.5) 2024-08-16 14:18:23 -04:00
e56fd1aa94 Add Int:sqrt() 2024-08-13 16:36:41 -04:00
e0223a4c20 Support ^ exponentiation for integers 2024-08-13 16:32:00 -04:00
9edace28e2 Fix ranges 2024-08-13 03:20:01 -04:00
9b9087bfef Get rid of slow_* int functions 2024-08-13 02:42:02 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
2ecb5fe885 Add channels and threads 2024-08-11 14:47:34 -04:00
8d3d591312 Add Sets to the language 2024-08-10 15:15:38 -04:00
c045c54309 Add a Range datatype with creation methods like 5:to(10) and
modification methods like `range:by(2)` or `range:reversed()`
2024-08-05 14:40:28 -04:00
99b00530ce Change structs/enums so they allow for field/tag names that are C
keywords
2024-08-03 16:39:04 -04:00
17be975d3a Fix integer random functions so they correctly handle all representable
ranges
2024-08-03 16:23:28 -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
445f79cb70 Add iterator functions 2024-07-13 17:17:58 -04:00
0c15c74352 Clean up some type checking with math operations and metamethods 2024-07-01 11:43:18 -04:00
8724dcd821 Fix issue with using libraries 2024-06-19 16:09:22 -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
81d55cacb7 Do dynamic library symbol prefixing using 'patchelf' 2024-06-13 21:20:50 -04:00
39ac885125 Change c/header transpilation order and fix some issues 2024-06-08 14:39:52 -04:00
8c7d530080 Split header compilation into a separate function 2024-06-06 16:28:53 -04:00
c5c3be9e5d Deprecate Text.slice() 2024-05-20 15:27:42 -04:00
5b1960859f Hook up Text.has(), Text.trimmed(), Text.without() 2024-05-20 15:19:31 -04:00
7dddfb71a0 Add Text.slice() 2024-05-19 14:38:44 -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
02fe49a764 Deprecate interfaces (RIP) 2024-05-12 20:13:19 -04:00
d143c72b22 WIP, but functional interfaces 2024-05-12 13:50:06 -04:00
2e27b88c1b Improved syntax for optionals 2024-04-30 13:18:47 -04:00
803995aea2 Prevent doubling up file prefix 2024-04-23 12:25:27 -04:00
5fd85d7e0b Add Num.mix() 2024-04-22 14:49:36 -04:00
d2348f0894 Fix namespace vars 2024-04-21 15:08:53 -04:00
3590bf3407 Better imports for types 2024-04-21 14:58:33 -04:00
369c601a56 Invert escaping so user symbols get prepended with "$" and builtin
symbols don't
2024-04-16 13:50:07 -04:00
17cb6ffd88 Add Bool.from_text() 2024-04-10 13:33:40 -04:00
e6f78f1d89 Add from_text() method for ints/nums 2024-04-10 13:23:49 -04:00
04d9adc813 Switch naming convention to use '$' in symbols more 2024-03-29 12:54:31 -04:00
135e23094c Improve codegen for table/array iteration by inlining the iteration
macros
2024-03-26 14:02:48 -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
adbb07fdc2 Module imports 2024-03-19 14:22:03 -04:00
df2e01c15e Add some better file comments 2024-03-18 12:47:07 -04:00
655b677895 Preface symbols with file prefix 2024-03-17 20:40:40 -04:00
d5d3f564bb Remove some shadowed variables 2024-03-14 02:48:07 -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
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
8427037bb9 Refactor table methods to take table structs where possible 2024-03-08 14:33:54 -05:00
55b4528da6 Tweak environment order of operations and resolutions 2024-03-08 13:39:27 -05:00
139da8e55f Remove dead code 2024-03-08 13:04:18 -05:00
9479b3937c Just use mathlib symbols, don't redefine them 2024-03-07 00:44:57 -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
1f6aa4cac7 Add methods for text:clusters(), text:codepoints(), text:bytes() 2024-03-03 19:40:01 -05:00
8fab88c56f Rename Str -> Text 2024-03-03 18:15:45 -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
74c86176cb Tweaks and improvements to built-in functions 2024-03-03 16:26:10 -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
55d44fe9f2 Tweaks 2024-02-27 12:46:14 -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
f9cc44f145 Fixing up enums 2024-02-20 13:06:03 -05:00
5ebbfc205a Add some more types 2024-02-18 01:02:39 -05:00
7355b2f7fe Change things up to use type params for all array and table methods 2024-02-17 18:38:29 -05:00
de3eeacfa0 Major cleanup 2024-02-17 16:56:19 -05:00
81ed05c7f8 Fixing up table stuff 2024-02-17 14:29:21 -05:00
9477195098 Fixing things up 2024-02-17 14:28:12 -05:00
317b8f5319 Progress towards environments 2024-02-15 13:43:46 -05:00