summaryrefslogtreecommitdiff
path: root/src/Simplify.hs
Commit message (Collapse)AuthorAge
* Commutativity marker on fold1iTom Smeding11 days
|
* simplifyOneHotTermTom Smeding2025-03-16
|
* Much process with accumulator revampTom Smeding2025-03-14
|
* Fix big oops bug in simplifyTom Smeding2025-03-04
| | | | | The dangers of writing a simplifier for an effectful language. I thought this was easy, but apparently it's all too simple to trip up...
* Add some simplify flags infrastructure for debuggingTom Smeding2025-03-04
|
* simplify: Halfway beta-reduce product projections in effectful contextTom Smeding2025-03-01
|
* test: Simplify and make it a bit fasterTom Smeding2025-02-28
|
* Add ext field to remaining AST constructorsTom Smeding2025-01-27
|
* Simplify: Reduce plus of literalsTom Smeding2024-12-06
|
* Simplify: Some forgotten 'acted'Tom Smeding2024-12-06
|
* Fix bug in simplifier (effects are hard)Tom Smeding2024-11-10
|
* WIP maximum/minimumTom Smeding2024-11-08
|
* Custom derivativesTom Smeding2024-11-08
|
* WIP custom derivativesTom Smeding2024-11-08
|
* Remove build1Tom Smeding2024-11-07
|
* Some simplification rulesTom Smeding2024-11-06
|
* WIP EOneHotTom Smeding2024-11-04
|
* simplifyFixTom Smeding2024-10-29
|
* Fix interpreter bugTom Smeding2024-10-22
|
* Differentiate ReplicateTom Smeding2024-10-22
|
* Add some missing casesTom Smeding2024-09-22
|
* 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.
* Interpreter, some operationsTom Smeding2024-09-12
|
* Simple Build1 seems to workTom Smeding2024-09-05
|
* Generic accumulatorsTom Smeding2024-09-05
|
* WIPTom Smeding2024-09-04
|
* Inching towards drev of buildTom Smeding2024-09-03
|
* WIP Build1Tom Smeding2024-08-30
|
* Implement weakenExpr using substTom Smeding2024-08-30
| | | | This saves one traversal function.
* Migrate to accumulators (mostly removing EVM code)Tom Smeding2024-08-30
|
* Move some definitions from AST to DataTom Smeding2024-01-27
|
* Pretty print let bindings in do notationTom Smeding2023-09-21
|
* Storage policy (accum / merge)Tom Smeding2023-09-21
|
* Examples with conditionalsTom Smeding2023-09-20
|
* StuffTom Smeding2023-09-19