Commit Graph

62 Commits

Author SHA1 Message Date
af15e89303 For arrays, use implicit filename from macro 2024-09-04 05:04:45 -04:00
61e482f6f3 Initial WIP first past 2024-09-02 18:47:39 -04:00
7472837ee5 Add array:first(predicate:func(x:&T)->Bool)->@%T? 2024-08-18 22:28:04 -04:00
6ef0583868 Fix array indexing 2024-08-18 15:51:19 -04:00
688f883e16 Add array:find() 2024-08-15 03:01:04 -04:00
66ae30ac29 Add method for array:remove_item(item) and rename
array:remove(index)->array:remove_at(index) to avoid confusion. Also
hook up array:has()
2024-08-15 02:39:35 -04:00
ed1667cb37 Add array:shuffled() and checks for array insertion 2024-08-15 02:17:53 -04:00
eccc4e4721 Add binary search method to arrays 2024-08-15 01:59:42 -04:00
9c2d7c437d Fix up type conversions with ints and nums 2024-08-14 14:57:01 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
6aabed4fcc Fix some COW bugs for arrays/tables/sets 2024-08-12 17:44:05 -04:00
948d6b4c22 Add array:counts() 2024-08-10 16:36:50 -04:00
ff4ea60daf Tweaks to array implementation, including changing how the bits are
allocated, making more explicit checks for refcounts and max values,
optimizations for certain methods, and adding compile-time errors for
arrays that hold items that are too large.
2024-08-04 14:22:58 -04:00
adccc56880 Switch around some of the logic for array:random() and array:shuffle()
to use Int$random() and return values
2024-08-04 13:03:55 -04:00
09204f4ce8 Revert "Fix array:random() to return a random item using correct RNG logic,"
This reverts commit 68b34cf00b.
2024-08-03 17:44:22 -04:00
68b34cf00b Fix array:random() to return a random item using correct RNG logic,
rather than a reference.
2024-08-03 17:33:18 -04:00
46396646bf Add proper error check for heap popping 2024-08-03 15:36:40 -04:00
167634eaa4 Change array API to take a padded item size instead of a type info in
most cases
2024-08-03 15:33:50 -04:00
16c2e3f590 Incrementally moving towards passing array entry sizes explicitly 2024-08-03 15:06:59 -04:00
2b9bec18a4 Fix for stride overflows in arrays 2024-08-03 14:40:56 -04:00
7911df8294 Make sure array slicing doesn't require a pointer and disallow automatic
stackifying of values
2024-07-22 13:54:03 -04:00
fb95bbb1d4 Deprecate array:pairs() and switch iterator functions to use enums 2024-07-20 16:45:13 -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
a179068d71 Improvements to error message printouts 2024-07-05 00:10:31 -04:00
ed935eb882 Fix array_lvalue 2024-06-18 01:32:44 -04:00
2dd9392ef9 Fix USE_COLOR 2024-04-20 14:58:32 -04:00
e33aff908b Inline color file 2024-04-20 14:24:37 -04:00
3b0dce04a0 Add heapify(), heap_push(), and heap_pop() 2024-04-19 13:29:04 -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
135e23094c Improve codegen for table/array iteration by inlining the iteration
macros
2024-03-26 14:02:48 -04:00
a29d2ed6d1 Improve COW/etc handling for update assignments 2024-03-24 14:28:20 -04:00
20d75db79a Fix/improve assignment to arrays and tables 2024-03-22 13:53:23 -04:00
7622f62935 More file comments 2024-03-18 12:57:49 -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
07c2b0ec26 Array methods 2024-03-08 14:23:16 -05:00
8e62018546 Rename Array_random -> Array__random 2024-03-08 13:53:38 -05:00
1677d7a1b9 Fix negative index issue and add array:random() 2024-03-08 13:00:29 -05:00
211af05381 Fix up some array literal stuff with TCC 2024-03-06 02:27:01 -05:00
23478e7036 Rename as_str -> as_text 2024-03-03 18:16:33 -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
8171a38b71 Add type namespaces 2024-02-29 13:28:39 -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