summaryrefslogtreecommitdiff
path: root/src/AST/Types.hs
Commit message (Collapse)AuthorAge
* D2[Array] now has a Maybe instead of zero-size for zeroTom Smeding5 days
| | | | Remaining problem: 'add' in Compile doesn't use the D2 stuff
* Much process with accumulator revampTom Smeding2025-03-14
|
* Clean up code organisation a littleTom Smeding2025-03-09
|
* Compile: Implement EWith (TODO EAccum)Tom Smeding2025-03-05
| | | | That's going to be a mess
* Complete GMM implementationTom Smeding2024-11-10
|
* Some more primitive operatorsTom Smeding2024-11-09
|
* WIP better zero/plus, fixing Accum (...)Tom Smeding2024-09-13
The accumulator implementation was wrong because it forgot (in accumAdd) to take into account that values may be variably-sized. Furthermore, it was also complexity-inefficient because it did not build up a sparse value. Thus let's go for the Haskell-interpreter-equivalent of what a real, fast, compiled implementation would do: just a tree with mutable variables. In practice one can decide to indeed flatten parts of that tree, i.e. using a tree representation for nested pairs is bad, but that should have been done _before_ execution and for _all_ occurrences of that type fragment, not live at runtime by the accumulator implementation.