Releases: andrew-johnson-4/lambda-mountain
Releases · andrew-johnson-4/lambda-mountain
1.19.28
Features:
- slice and index syntax for LSTS
- various bug fixes to prepare for tokenization with LSTS
print( "abcd"[2:] );
1.19.27
Features:
- if a type is comparable, then it can define a
cmp
function - created comparison operators for Strings, SmartStrings, List, and Type
1.19.25
Features:
- install lm to /usr/local/bin if sudo
- add a make option to profile compilation (requires perf)
1.19.24
- remove all dead code related to
Tag<x>
and manual CaseNumber - reduce compile times by another 2s
tag casts can now be accomplished with
(as t Tag::MyCase)
This tag format is preferable because it can be sorted and hashed for efficient unification and indexing.
1.19.23
Features:
- triage performance issues with deriving Field types with quick-prop
- compile time down from 85s to 35s
1.19.22
Features:
- fields are now derived with quick props
1.19.21
Features:
- quick-prop is indexing and enrichment is working
- quick-prop is written in LSTS, so all the things necessary to use LSTS code in real code
1.19.19
Features:
- LSTS syntax destructure structured data
- destructure by field-name
match term {
TermCase { field-name=field-name, field2-name=field2-name } => print(field-name);
}
1.19.18
Features:
- LSTS Tuple type syntax
- LSTS Tuple expression syntax
let f(x: X): (X, X) = (x, x);
1.19.17
Features
- Fix a surprisingly intricate type derivation bug
- if a type definition derives another type in its definition, but is not used in code, then it wouldn't get marked to compile
- this whole pipeline needs to be cleaned up