aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Count: Improve counting of tape in EFold1InnerD1foldTom Smeding33 hours
|
* WIP fold: everything but Compile (slow, but should be sound)Tom Smeding44 hours
|
* subenvSplit (unused, commented out, but it's written now)Tom Smeding3 days
|
* WIP fold: Implement D[fold1i]Tom Smeding3 days
| | | | Still need to handle the new primitives in the rest of the library
* More precise reconstructBindings interfaceHEADmasterTom Smeding3 days
|
* No need for assertSubenvEmpty in D[build]Tom Smeding3 days
|
* Helper functions bpush and weakenBindingsETom Smeding3 days
|
* pipeline helpers in ExampleTom Smeding3 days
|
* Add uniform-tree test and benchmarkTom Smeding3 days
| | | | | | We need an optimisation that detects replicate-like behaviour and turns it into actual replicates, which should then be fused away. The problem is exhibited by this function exUniformFree.
* Set Example module as ghci defaultTom Smeding2025-10-08
|
* Complete occCountXTom Smeding2025-10-08
|
* Simplify: Add placeholder recursion branches for convenienceTom Smeding2025-10-08
|
* Simplify: Don't forget effects, againTom Smeding2025-10-08
| | | | | | This didn't actually result in any test failures, but I caught it while hunting for a bug that turned out to be missing scaleMany in the new occCount.
* Count: Correct alternative and scaleMany countingTom Smeding2025-10-08
|
* Code styleTom Smeding2025-10-08
|
* WIP pruneExpr in AST.CountTom Smeding2025-07-23
|
* Fix extremum bug in DualNumbersTom Smeding2025-07-07
|
* Merge branch 'sparse'Tom Smeding2025-06-21
|\
| * Some more effects to not ignoresparseTom Smeding2025-06-18
| |
| * Don't destroy effects in UnMonoidTom Smeding2025-06-18
| |
| * Don't introduce sparsity if zero is cheapTom Smeding2025-06-18
| |
| * Don't destroy effects in sparse plusTom Smeding2025-06-18
| |
| * Put smart accumulator redirection behind config flagTom Smeding2025-06-18
| |
| * Give DeepZero to WithTom Smeding2025-06-18
| |
| * Complete pattern matchesTom Smeding2025-06-18
| |
| * Tests pass, should check if output is sensibleTom Smeding2025-06-18
| |
| * CHAD.hs compilesTom Smeding2025-06-16
| |
| * WIPTom Smeding2025-06-09
| |
| * More WIP sparsityTom Smeding2025-06-08
| |
| * WIP mixed static/dynamic sparsityTom Smeding2025-06-06
| |
* | Don't destroy effects in UnMonoidTom Smeding2025-06-18
|/
* Simplify: also down-commute projections into EMaybeTom Smeding2025-05-25
|
* Add AST.UnMonoid convenience repl import to ExampleTom Smeding2025-05-25
|
* ERecomputeTom Smeding2025-05-25
|
* Print EMaybe as caseTom Smeding2025-05-25
|
* Implement mapExt as travExtTom Smeding2025-05-25
|
* Compile: special-case to a single kernel functionTom Smeding2025-05-06
|
* Reorder TLEither to after TEitherTom Smeding2025-04-29
|
* simplify: Better simplify nested monoid opsTom Smeding2025-04-29
|
* pretty: Print types of monoid opsTom Smeding2025-04-29
|
* Simplify: Don't forget about effects -.-Tom Smeding2025-04-29
|
* Tracing simplifierTom Smeding2025-04-29
|
* Complete monoidal accumulator rewriteTom Smeding2025-04-29
|
* WIP interpreter support for new monoidal accumulatorsTom Smeding2025-04-28
|
* WIP revamp accumulators again: explicit monoid typesTom Smeding2025-04-27
| | | | | | | | No more D2 in accumulators! Paving the way for configurable sparsity of products and arrays. The idea is to make separate monoid types for a "product cotangent" and an "array cotangent" that can be lowered to either a sparse monoid or a non-sparse monoid. Downsides of this approach: lots of API duplication.
* simplify: Additional rules inspired by Example.neuralTom Smeding2025-04-25
|
* pretty: Print build dimensionTom Smeding2025-04-25
|
* Don't unSTyTom Smeding2025-04-25
|
* Remove done TODOTom Smeding2025-04-25
|
* Compile: Give IDs to C modules for easier debuggingTom Smeding2025-04-24
|