a197875214
Bugfix for say() when length is >512, and added back the newline
...
optional parameter (default=yes)
2024-08-23 12:42:10 -04:00
dceb925573
Bugfix for parsing ints
2024-08-23 11:38:54 -04:00
ad51b208b4
Overhaul of import syntax. Now everything uses use
: use foo
, `use
...
./foo.tm`, `use <foo.h>`, `use libfoo.so`
2024-08-22 14:02:48 -04:00
2055439be4
Variables can no longer hold function pointers, only closure_t's. This
...
makes error reporting easier and prevents issues where some functions
could be assigned, but not others. Also change outputs so Void returns
don't show up when displaying types, now just: `func()`
2024-08-21 00:49:22 -04:00
934b843b1c
Add .text_content as a field on DSLs instead of a method
2024-08-19 14:29:58 -04:00
4e732a718d
Restructure things so that DSL constructors do proper escaping
2024-08-19 13:23:02 -04:00
8363d53bd2
Update channel API to take a Where parameter
2024-08-18 23:59:13 -04:00
b76fbd3beb
Add Int:clamped() and Num:clamped()
2024-08-18 23:20:54 -04:00
1e4f41bc28
Remove duplicated line
2024-08-18 16:33:40 -04:00
9de57eaf65
Remove some num functions
2024-08-18 16:28:52 -04:00
a49870f810
Add primality testing and next_prime()/prev_prime()
2024-08-18 15:22:51 -04:00
da4d07c665
Fix up some bigint logic issues
2024-08-18 12:47:29 -04:00
752ab8212c
Split BigIntType out of IntType and switch to using enums for the size
...
of ints/nums
2024-08-18 11:49:51 -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
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