| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Count: Correct alternative and scaleMany counting | Tom Smeding | 2025-10-08 | 
| | | |||
| * | Code style | Tom Smeding | 2025-10-08 | 
| | | |||
| * | WIP pruneExpr in AST.Count | Tom Smeding | 2025-07-23 | 
| | | |||
| * | Merge branch 'sparse' | Tom Smeding | 2025-06-21 | 
| |\ | |||
| | * | Some more effects to not ignoresparse | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | Don't destroy effects in UnMonoid | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | Don't introduce sparsity if zero is cheap | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | Don't destroy effects in sparse plus | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | Give DeepZero to With | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | Complete pattern matches | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | Tests pass, should check if output is sensible | Tom Smeding | 2025-06-18 | 
| | | | |||
| | * | CHAD.hs compiles | Tom Smeding | 2025-06-16 | 
| | | | |||
| | * | WIP | Tom Smeding | 2025-06-09 | 
| | | | |||
| | * | More WIP sparsity | Tom Smeding | 2025-06-08 | 
| | | | |||
| | * | WIP mixed static/dynamic sparsity | Tom Smeding | 2025-06-06 | 
| | | | |||
| * | | Don't destroy effects in UnMonoid | Tom Smeding | 2025-06-18 | 
| |/ | |||
| * | ERecompute | Tom Smeding | 2025-05-25 | 
| | | |||
| * | Print EMaybe as case | Tom Smeding | 2025-05-25 | 
| | | |||
| * | Reorder TLEither to after TEither | Tom Smeding | 2025-04-29 | 
| | | |||
| * | simplify: Better simplify nested monoid ops | Tom Smeding | 2025-04-29 | 
| | | |||
| * | pretty: Print types of monoid ops | Tom Smeding | 2025-04-29 | 
| | | |||
| * | WIP revamp accumulators again: explicit monoid types | Tom Smeding | 2025-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. | ||
| * | pretty: Print build dimension | Tom Smeding | 2025-04-25 | 
| | | |||
| * | Don't unSTy | Tom Smeding | 2025-04-25 | 
| | | |||
| * | splitLets: Don't split if unnecessary | Tom Smeding | 2025-04-21 | 
| | | |||
| * | pretty: Generate type-tagged fallback names | Tom Smeding | 2025-04-21 | 
| | | |||
| * | Add integer modulo operator | Tom Smeding | 2025-04-21 | 
| | | |||
| * | pretty: Print arguments of open expression | Tom Smeding | 2025-04-18 | 
| | | |||
| * | Split product lets before chad | Tom Smeding | 2025-04-05 | 
| | | |||
| * | Pass around an accumMap (but it's empty still) | Tom Smeding | 2025-03-28 | 
| | | |||
| * | Pretty: fix printing of EMaybe | Tom Smeding | 2025-03-27 | 
| | | |||
| * | D2[Array] now has a Maybe instead of zero-size for zero | Tom Smeding | 2025-03-26 | 
| | | | | | Remaining problem: 'add' in Compile doesn't use the D2 stuff | ||
| * | Commutativity marker on fold1i | Tom Smeding | 2025-03-20 | 
| | | |||
| * | Compile EAccum | Tom Smeding | 2025-03-17 | 
| | | |||
| * | Much process with accumulator revamp | Tom Smeding | 2025-03-14 | 
| | | |||
| * | WIP revamp accumulator projection type repr | Tom Smeding | 2025-03-14 | 
| | | | | | | | | I stopped working on this because I realised that having sparse products (and coproducts, prehaps) everywhere is a very bad idea in general, and that we need to fix that first before really being able to do anything else productive with performance. | ||
| * | Clean up code organisation a little | Tom Smeding | 2025-03-09 | 
| | | |||
| * | pretty: Print x value for (!) | Tom Smeding | 2025-03-07 | 
| | | |||
| * | pprintExpr | Tom Smeding | 2025-03-07 | 
| | | |||
| * | Compile: Implement EWith (TODO EAccum) | Tom Smeding | 2025-03-05 | 
| | | | | | That's going to be a mess | ||
| * | Fix ppParen in pretty of EWith | Tom Smeding | 2025-03-04 | 
| | | |||
| * | Fix some pretty-printing | Tom Smeding | 2025-03-01 | 
| | | |||
| * | UnMonoid: Properly recurse | Tom Smeding | 2025-02-25 | 
| | | |||
| * | Pretty: Allow colouring exts (currently not) | Tom Smeding | 2025-02-25 | 
| | | |||
| * | Compile: Emit structs in proper order | Tom Smeding | 2025-02-25 | 
| | | |||
| * | Pretty-printer that supports extension fields | Tom Smeding | 2025-01-28 | 
| | | |||
| * | Add ext field to remaining AST constructors | Tom Smeding | 2025-01-27 | 
| | | |||
| * | UnMonoid | Tom Smeding | 2024-12-06 | 
| | | |||
| * | WIP UnMonoid (to be used for compiling to C) | Tom Smeding | 2024-12-06 | 
| | | |||
| * | Working argument accum mode (...) | Tom Smeding | 2024-11-26 | 
| | | | | | | | | | | | | | | | | The derivative of 'neural' in full accum mode is pretty atrocious now; I think this is because when you have code like this: \(a :: Arr 1 R) -> let b = a in let c = b in sum d then because the argument, as well as both let bindings, bind a value of array type, each will introduce an accumulator, hence resulting in three (!) nested `with` clauses that each just contribute their result back to their parent. This is pointless, and we should fix this. | ||
