Zack Puhl
3cce90bba1
fix hashmap tinit_with_key_values
2025-07-15 00:26:59 +02:00
Ero Mrinin
123b1c8f44
Added unpack macro for Triple ( #2277 )
2025-07-09 03:11:13 +02:00
Disheng Su
457244e3de
Fix json parser ( #2272 )
...
* Fix json parser number
* Fix json parser leading zero
* Fix json parser with duplicated keys
* Fix json parser with trailing characters
* Fix json parser: set recursive depth to 128
* Fix json parser: skip comment to false
* Fix json parser: reject number trailing with null
* Make max depth configurable. Simplify with defer catch. Accept `2.`
* Make max depth configurable. Simplify with defer catch. Accept `2.`
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-06 03:07:46 +02:00
Ero Mrinin
d5559ecafd
Tuple update ( #2235 )
...
* 'next_float' macro patch
More optimized implementation.
* tuple-type update
* U suffix in 'next_float'
* Do not add triplet, quadruplet, keep Tuple but deprecate. Add unpack
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-06 02:08:59 +02:00
Gregory Oakes
5c3b637cf6
Add Maybe.equals when inner type is equatable.
2025-05-22 00:06:11 +02:00
Christoffer Lerno
b7ae5dce8b
Deprecate MyEnum.elements.
2025-05-16 16:12:37 +02:00
Christoffer Lerno
24ebe975d8
Allow the right hand side of ||| and &&& be runtime values.
2025-05-14 23:40:36 +02:00
Christoffer Lerno
511ae0da00
Contract on trying to use Object without initializing it.
2025-05-14 23:22:34 +02:00
Christoffer Lerno
3636898ac0
Fixed enum regression after 0.7.0 enum change.
2025-04-29 11:53:32 +02:00
Christoffer Lerno
e7c9ec0938
Added comments.
2025-04-16 01:32:01 +02:00
Christoffer Lerno
f85198e3ee
Added += and related as overloads. Updated tests and docs. Slice2 extracted to its own file.
2025-04-14 00:55:46 +02:00
Christoffer Lerno
4538a1f50d
- Correctly errors when a generic module contains a self-generic type.
2025-03-26 18:04:00 +01:00
Christoffer Lerno
a03d821602
- Use @pool_init() to set up a temp pool on a thread. Only the main thread has implicit temp pool setup.
...
- `tmem` is now a variable.
2025-03-21 17:08:58 +01:00
Christoffer Lerno
7e100472e7
- AnyList now also defaults to the temp allocator.
...
- `os::getcwd` and `os::get_home_dir` requires an explicit allocator.
- `file::load_new` and `file::load_path_new` removed.
2025-03-18 18:34:52 +01:00
Christoffer Lerno
5c77c9a754
- Change distinct -> typedef.
...
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00
Christoffer Lerno
8b49e6c14d
Rename def to alias.
2025-03-13 11:22:27 +01:00
Christoffer Lerno
b8ae2b06d6
Rename @return! to @return?
2025-03-12 21:40:30 +01:00
Christoffer Lerno
25bccf4883
New faults and syntax ( #2034 )
...
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00
m0tholith
dc8b35e62f
Added is_initalized function to list, linkedlist, and anylist types ( #2027 )
...
* Added `is_initalized` function to list, linkedlist, and anylist types
2025-03-08 21:49:17 +01:00
Christoffer Lerno
c0b80eccad
Change @return! syntax to require ":" after faults. Update all contracts to consistently use ":" before the description.
2025-03-05 17:11:45 +01:00
Christoffer Lerno
2439405e70
- $foreach "()" replaced by trailing ":" $foreach ($x, $y : $foo) -> $foreach $x, $y : $foo:
...
- `$for` "()" replaced by trailing ":" `$for (var $x = 0; $x < FOO; $x++)` -> `$for var $x = 0; $x < FOO; $x++:`
- `$switch` "()" replaced by trailing ":" `$switch ($Type)` -> `$switch $Type:`
- Empty `$switch` requires trailing ":" `$switch` -> `$switch:`
2025-03-04 16:13:47 +01:00
Christoffer Lerno
13f824e349
Add ONHEAP for List and HashMap
2025-03-03 12:20:18 +01:00
Christoffer Lerno
222bfb158b
Remove deprecated functions.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
2b90500c22
Remove container sanitizer unless using the LIBC allocator.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
55c88408be
Remove some deprecated use.
2025-03-01 23:58:28 +01:00
Christoffer Lerno
1b0ac13d76
Deprecation of operator(@construct)
2025-02-28 10:39:08 +01:00
Christoffer Lerno
33b05bcfeb
More deprecations in lib6, and updates to lib7
2025-02-27 11:10:41 +01:00
Christoffer Lerno
855be92881
Regression with .gitkeep in project init. List.init incorrectly didn't have the first argument the allocator. Added .init to priority queue. Created mem thread allocator alias. Correctly handle ident aliases. Allow ident on builtin aliases.
2025-02-21 21:34:48 +01:00
Christoffer Lerno
e77d1fb646
- Increase precedence of (Foo) { 1, 2 }
...
- Add `--enable-new-generics` to enable `Foo{int}` generic syntax.
2025-02-18 00:26:22 +01:00
Christoffer Lerno
8c58b31bbd
Remove <[]> experimental generic syntax.
2025-02-13 12:53:46 +01:00
Christoffer Lerno
1f856cacf5
HashMap is now Printable. Fix access inlining for enums. #1958
2025-02-12 23:11:46 +01:00
Christoffer Lerno
d3ad533dd6
Fix issue in List with sanitizers.
2025-02-11 00:13:04 +01:00
Christoffer Lerno
9e54014848
Fix issue in GrowableBitSet with sanitizers.
2025-02-10 23:55:02 +01:00
Christoffer Lerno
9092defd46
defer is broken when placed before a $foreach #1912
2025-01-31 14:39:51 +01:00
Christoffer Lerno
9530fe8fcd
Fix regression for parsing types and switch to the "new" generic syntax that's being tested.
2025-01-26 22:51:27 +01:00
Christoffer Lerno
c3f5806aa3
Const strings and bytes were not properly converted to compile time bools.
...
Contracts @require/@ensure are no longer treated as conditionals, but must be explicitly bool.
2025-01-18 23:24:55 +01:00
Christoffer Lerno
e31e57c7e7
Improved error message when accessing @private from other modules. Added convenience functions to Maybe.
2025-01-04 14:58:06 +01:00
Christoffer Lerno
e453e6f9ca
- Add enum.from_ordinal and fault.from_ordinal
...
- Deprecate cast-style conversion from integer to enum.
- Make deprecation an error in test mode.
2024-12-23 15:27:59 +01:00
Tomas Kallup
ca88afbf5b
Fix hashmap put all for create + test case
...
Closes : #1695
2024-12-19 16:15:18 +01:00
Christoffer Lerno
b4de62cfc2
Added iter() value_iter() and key_iter() to HashMap.
2024-12-18 21:02:28 +01:00
Christoffer Lerno
f13472a8c3
Contracts on generic modules would evaluate too late, sometimes not catching the error until it already occurred elsewhere. Add file::save.
2024-11-27 00:02:43 +01:00
Walther Chen
f39e339726
Fix error when HashMap.remove on uninitialized HashMap ( #1629 )
...
* HashMap: test removal on uninitialized
* HashMap.remove_entry_for_key: return false on unintialized
* test: switch to temp_init
* release note
2024-11-18 14:20:32 +01:00
konimarti
b7a095b4b4
Fix Formatter.floatformat and Object.to_format ( #1602 )
...
* fix: change float format specifier in Object.to_format
Fix the float format specifier in Object.to_format. If there is a float
stored in a Object such as 3.14, it would be printed out as 3 because
the format specifier is %d but should be %g.
* fix: print nan in floatformat
Fix floatformat to print 'nan' if float is nan. Currently,
io::printn(float.nan) will produce 'inf' instead of 'nan'.
2024-11-07 00:01:14 +01:00
Christoffer Lerno
fd5b8d1374
Add bounds checking on List access.
2024-11-01 14:18:29 +01:00
Christoffer Lerno
827440686f
$define would occasionally not properly evaluate declarations it encountered.
2024-10-30 11:59:18 +01:00
MohMaGen
0639659270
fix: remove requirements for pop_first.
2024-10-27 20:35:09 +01:00
Walther Chen
fd1898b70a
copy out keys also in HashMap.copy_keys ( #1569 )
...
* copy out keys also in HashMap.copy_keys
* test for copying keys out
2024-10-26 01:57:00 +02:00
Christoffer Lerno
78d5939d9d
Show error when declarations do not start with fn in interfaces. #1565 . Some added functionality to lists and time.
2024-10-18 17:10:00 +02:00
Christoffer Lerno
31cd839063
Switch to <* *> docs. Fix issue with dynamically loaded C3 libs with other C3 code.
2024-10-14 02:14:34 +02:00