Christoffer Lerno
499c82b089
Updated indentation to C3 standard.
2023-07-26 14:01:24 +02:00
Christoffer Lerno
9e477056ed
Fixes to $defined implementation.
2023-07-23 23:55:38 +02:00
Pierre Curto
35bffdadc2
improve the sort and collections libs ( #853 )
...
* lib/std/sort: unify binarysearch and binarysearch_with; add comments to quicksort
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/collections: mark List.{len, is_empty, get} with @inline
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/collections: add PriorityQueueMax; add tests for PriorityQueue and PriorityQueueMax
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-15 19:08:54 +02:00
Pierre Curto
7dc1eab185
std/lib/collections: make List support the []= operator ( #831 )
...
* std/lib/collections: make List support the []= operator
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* std/lib/io: rename receiver to self
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-07 13:51:44 +02:00
Christoffer Lerno
4f7b42cdc4
New generic syntax and ad hoc invocation.
2023-07-06 23:43:36 +02:00
Christoffer Lerno
21d8a8b6da
Fix #809 missing checks on generic types, accepting both types where constants should be and vice versa.
2023-07-01 23:58:00 +02:00
Christoffer Lerno
4c1edfb941
Dev ( #777 )
...
* The new @if directive.
2023-06-10 23:16:28 +02:00
Christoffer Lerno
8eaad81800
Dead strip by default. Add list to_string. Fix missing check for dynamic calls.
2023-06-05 14:54:17 +02:00
Christoffer Lerno
ddd0497922
Better lowering of distinct types. Noreturn function call expr recognized as a "jump" for escape analysis. Preferring "def" in libs. To upper / to lower for ascii. Initial dynlib support.
2023-05-21 21:41:01 +02:00
Christoffer Lerno
172d561f07
Change syntax of $if, $assert, $include, $echo. Introduces $error
2023-05-06 12:18:00 +02:00
Christoffer Lerno
e8642d6797
Fixes to access grammar. "delete" => "remove"
2023-04-24 09:10:35 +02:00
Christoffer Lerno
8059dc1539
delete_if, retain_if, rindex_of, compact, compact_count added to List.
2023-04-21 14:45:25 +02:00
Christoffer Lerno
809321e20c
Updated grammar. Removal of elif. Removal of ':' ';' in some ct statements. Empty faults is now an error. Remove "define" for types. Remove "private". Better errors on incorrect bitstruct syntax. Introduction of wildcard type rather than optional wildcard. Removal of scaled vector type. mkdir and rmdir. Disallow define @Foo() = { @inline }. Add handling for @optreturn and change it to @return!. Restrict interface style functions. Updated x64 ABI. stdlib updates to string. Removed deprecated functions. Update how variadics are implemented. Extended error messages. x86 ABI fixes. Shift check fixes. '!' and '?' are flipped. No trailing ',' allowed in functions. Fix to string parsing. Allow l suffix. Simplifying flatpath. any replaces variant, anyfault replaces anyerr. Allow getting the underlying type of anyfault. De-duplicate string constants. Fix of readme. Extended list. Fix of "(MyEnum)x + 1". Clock and DateTime types. Fixes to array concat.
2023-04-21 10:56:39 +02:00
Christoffer Lerno
89de0a70d2
"@ensure" now correctly only runs on non-optional results. Subtypes now merge to a single type. Beginning deprecation of "std::core::str". Refreshed String functions. Consistent use of ".using" parameter. Functions moved to string methods. Tests on more string methods. Fixes to split, rindex_of.
2023-03-08 00:13:48 +01:00
Christoffer Lerno
300f4d38ab
Addition of object type. Fixes to const union initialization.
2023-03-06 23:58:13 +01:00
Christoffer Lerno
9eee250b10
Add DString init.
2023-03-06 09:12:52 +01:00
Christoffer Lerno
d1626ada6f
List no longer uses a temp allocator by default. Incorrect check in the temp allocator removed. Added DString.
2023-03-05 23:14:16 +01:00
Christoffer Lerno
dd4edfb747
Updated malloc/calloc/realloc/free deprecation of old helper functions. Add checks to prevent incorrect alignment on types when using malloc. Better errors from $assert. Added @deprecated. Fixed issue using named arguments after varargs.
2023-02-27 15:03:27 +01:00
Christoffer Lerno
5e457be605
Implement more @export / @private improvements. Make @private default… ( #729 )
2023-02-13 08:31:40 +01:00
Christoffer Lerno
86e085e0c0
Move collection types. Improve linked list interface. Update map.destroy => map.free
2023-02-05 20:55:47 +01:00