simplify: no distinction between generic types and 'normal' types.
This commit is contained in:
parent
b4826605af
commit
a664ddac8a
27 changed files with 535 additions and 360 deletions
19
progress.txt
19
progress.txt
|
|
@ -1,12 +1,20 @@
|
|||
done:
|
||||
- everything is properly typed, up to the meta-circular level
|
||||
- primitives
|
||||
- structures: list, product, sum
|
||||
- structures: list, product, sum, ...
|
||||
can compose structures, e.g., create list of list of product of sum of ...
|
||||
list type is specialized for ListOfByte to use Uint8Array
|
||||
- generic types and type inferencing
|
||||
set and dictionary implemented as purely functional red-black tree
|
||||
keys allowed: (anything with total ordering)
|
||||
- primitive values
|
||||
- structural values
|
||||
- dynamically typed values
|
||||
- types
|
||||
- generic types and type unification (inferencing)
|
||||
- recursive types
|
||||
|
||||
todo:
|
||||
- dynamically typed values: have 'Any' or 'Top' type?
|
||||
|
||||
|
||||
- to support sets of slots, need comparison of slots
|
||||
=> comparison of values
|
||||
=> problem: how to compare transformed values? their inputs can come from different types
|
||||
|
|
@ -19,6 +27,5 @@ todo:
|
|||
|
||||
(b) dirty: use 'magic' function that compares any JS value
|
||||
|
||||
- typeclass mechanism
|
||||
- interfaces (type classes)
|
||||
|
||||
- what about type links: they connect anything to its type... what is the type of 'anything'?
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue