| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | WIPmultihot-cotangents | Tom Smeding | 2026-02-14 |
| | | |||
| * | WIP | Tom Smeding | 2026-02-12 |
| | | |||
| * | WIP (continue in UnMonoid) | Tom Smeding | 2026-02-12 |
| | | |||
| * | Multihot cotangents WIP (doesn't work) | Tom Smeding | 2026-02-12 |
| | | | | | | | | | | | | | | | | | | | | The idea is sound but for a smaller source language. Notes also in Obsidian, but the theory so far is that dropping support for nested arrays makes this possible, although making the result type-safe (i.e. not have partial functions in a bunch of places) would require making the lack of nested array support explicit in the embedded type system, i.e. have Accelerate-like stratification. The point is that multihots can be added heterogeneously using plusSparseS but not homogeneously with EPlus or plusSparse, because the indices might differ between the summands. Thus as long as we never need to homogeneously sum multihot cotangents, we're golden. Now the crucial observation is that we only need plus to be homogeneous on array elements. So if array elements cannot themselves be arrays, i.e. we drop support for nested arrays, no homogeneous plus of multihot array cotangents is needed, and we can have static multihots. | ||
| * | UnMonoid: EAccum is an interesting caseHEADmaster | Tom Smeding | 2026-02-12 |
| | | | | | Just moved the code, nothing else | ||
| * | Remove spurious work duplication in unMonoid EAccum | Tom Smeding | 2026-02-12 |
| | | |||
| * | Use helper methods in UnMonoid(plus) | Tom Smeding | 2026-02-08 |
| | | |||
| * | Remove sparsePlus, it's just EPlus on applySparse | Tom Smeding | 2026-02-08 |
| | | |||
| * | Optimise eflatten | Tom Smeding | 2026-01-26 |
| | | |||
| * | Import CHAD.Language also qualified as L in Example | Tom Smeding | 2025-12-10 |
| | | |||
| * | APIv1: Some fixes | Tom Smeding | 2025-11-26 |
| | | |||
| * | Add a simplify rule | Tom Smeding | 2025-11-22 |
| | | |||
| * | Remove redundant test dependency | Tom Smeding | 2025-11-22 |
| | | |||
| * | Add some .gitignores | Tom Smeding | 2025-11-22 |
| | | |||
| * | Fix typo | Tom Smeding | 2025-11-22 |
| | | |||
| * | UnMonoid: Use eunPair | Tom Smeding | 2025-11-13 |
| | | |||
| * | Sparse: Maybe prevent another SpSparse introduction | Tom Smeding | 2025-11-13 |
| | | |||
| * | User-facing API suggestion | Tom Smeding | 2025-11-11 |
| | | |||
| * | hlint cleanup | Tom Smeding | 2025-11-10 |
| | | |||
| * | Use ImportQualifiedPost | Tom Smeding | 2025-11-10 |
| | | |||
| * | Move module hierarchy under CHAD. | Tom Smeding | 2025-11-10 |
| | | |||
| * | Add a stupid Map test | Tom Smeding | 2025-11-05 |
| | | |||
| * | Fix pretty-printing for Map | Tom Smeding | 2025-11-05 |
| | | |||
| * | Some extra Map optimisations | Tom Smeding | 2025-11-05 |
| | | |||
| * | test-framework: Catch exceptions also in sequential runner | Tom Smeding | 2025-11-05 |
| | | |||
| * | Implement D[map] | Tom Smeding | 2025-11-05 |
| | | |||
| * | Cleanup of D[build] and D[fold1i] | Tom Smeding | 2025-11-05 |
| | | |||
| * | drevLambda works, TODO D[map] | Tom Smeding | 2025-11-04 |
| | | |||
| * | autoWeak: Improve typing | Tom Smeding | 2025-11-04 |
| | | | | | | | | | - Check that source layout is actually a subset of the target layout statically, because we can and it prevents runtime errors (I didn't actually get such an error yet, but I worried about it too much) - Use less Append in type of (&.) to make type errors _significantly_ less verbose | ||
| * | WIP drevLambda abstraction! | Tom Smeding | 2025-11-03 |
| | | |||
| * | WIP map + zip | Tom Smeding | 2025-11-03 |
| | | |||
| * | Compile: Add -Wno-maybe-uninitialized | Tom Smeding | 2025-11-03 |
| | | |||
| * | test: Proper intermixing of GCC warnings with test output | Tom Smeding | 2025-11-03 |
| | | |||
| * | test-framework: Fix exception handling | Tom Smeding | 2025-11-03 |
| | | |||
| * | Compile foldd1 and foldd2 | Tom Smeding | 2025-10-30 |
| | | |||
| * | Simplify foldD2 to not sum x0 contributions | Tom Smeding | 2025-10-30 |
| | | |||
| * | Implement reshape | Tom Smeding | 2025-10-30 |
| | | |||
| * | Compile: Improve/simplify struct generation | Tom Smeding | 2025-10-30 |
| | | |||
| * | Compile: store sh in array, not in array buffer | Tom Smeding | 2025-10-30 |
| | | |||
| * | Compatibility with ghc 9.8 | Tom Smeding | 2025-10-29 |
| | | |||
| * | Add some simple fold tests | Tom Smeding | 2025-10-29 |
| | | |||
| * | Better fold D{1,2} primitives | Tom Smeding | 2025-10-28 |
| | | |||
| * | Count: Improve counting of tape in EFold1InnerD1 | Tom Smeding | 2025-10-25 |
| | | |||
| * | WIP fold: everything but Compile (slow, but should be sound) | Tom Smeding | 2025-10-24 |
| | | |||
| * | subenvSplit (unused, commented out, but it's written now) | Tom Smeding | 2025-10-23 |
| | | |||
| * | WIP fold: Implement D[fold1i] | Tom Smeding | 2025-10-23 |
| | | | | | Still need to handle the new primitives in the rest of the library | ||
| * | More precise reconstructBindings interface | Tom Smeding | 2025-10-23 |
| | | |||
| * | No need for assertSubenvEmpty in D[build] | Tom Smeding | 2025-10-23 |
| | | |||
| * | Helper functions bpush and weakenBindingsE | Tom Smeding | 2025-10-23 |
| | | |||
| * | pipeline helpers in Example | Tom Smeding | 2025-10-23 |
| | | |||
