Skip to content
/ ion Public

Multiplatform Data Modeling Language featuring dependent types, immutability, validation

Notifications You must be signed in to change notification settings

glassorg/ion

Repository files navigation

ion

High performance functional language targeting web assembly with strong typescript interop.

TODO

[x] Type Expressions to AST format. [x] Use Kype to calculate +(Integer, Integer) [x] Finish the interval merging in simplification. [x] Fix parameter declarations being in scope. [x] Simplify (!= 0 | 1) => != 0 [x] Check that function resolved return type actually matches declared return type. [x] Make ranges for iterating loops. [x] Check type on variable assignment. [x] Works correctly with Variables outside of a for loop. [x] Resolve native functions normally and make sure they are finished being resolved. [x] Add support for structure types. [ ] Add structure constructor rules with optional named fields. [ ] Test that every expression is fully resolved.

[ ] Need ability to declare variables without 'let' [x] Need syntax for TypeExpressions { x: > 0, y: < 10 } [x] Need getMember to account for type constraints in addition to the baseType field. [x] Need to resolve TypeExpressions with a TypeExpression base type to a combined TypeExpression. [ ] Let's allow checking types dependent upon other parameters values. [ ] Verify with array bounds checking. [ ] Finish simplifying the Type refactoring by no longer forcing things to ConstrainedType

About

Multiplatform Data Modeling Language featuring dependent types, immutability, validation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages