Releases: andrew-johnson-4/lambda-mountain
Releases · andrew-johnson-4/lambda-mountain
1.20.23
Features:
- frontend plugins don't need to hardcode anything into LM Core
- they are based on file extension
- LSTS plugin is now entirely packaged as a plugin with no hardcoded anything inside the LM Core compiler
1.20.22
Features:
- LSTS now can tell the syntactic difference between Cons and App semantics
- functions can be sent as arguments to functions
- remove docs folder in favor of separate project
1.20.20
Features:
- port some modules to LSTS
- more unit tests
- removed some assembler specific features out of core (resulting in a 50% speedup)
1.20.19
Features:
- port
domain
,range
,is-arrow
,is-open
to LSTS - add unit tests for these functions
1.20.18
Features
- start unit testing in compiler
- cover type constructors, destructors, and .is-t query
1.20.17
Features:
- Zero constructors can be declared in LSTS.
- Umbra strings work
- raw match expressions can be fields that will stay as indirect pointers.
- create secondary index for Array quick props
1.20.13
Features:
- add a guard to prevent propositions from adding duplicate type information onto a conjugate
- this didn't really impact performance (neither positively or negatively)
1.20.12
Features:
&
indirection operator on lhs and rhsraw
pointers can be sent into match expressions- indirect field reference (equivalent to
->
in C) - compiler is really slow because
Array
has been given some quick props (TODO fix by indexing better) - Umbra strings are almost working
1.20.11
Features:
- using
raw
on a sized array preventsmemcpy
and instead binds a pointer. - fields can now be declared as sized arrays
- structs with sized arrays can be initialized in structs
1.20.7
Features:
open(array[CONST])
is a noopU8 <: CONST
- raw bindings in match statements
match u {
UmbraLong { prefix=prefix, raw ptr=ptr } => ...
}