| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Inline SMayNat in ListH | Mikolaj Konarski | 41 hours |
| | | |||
| * | Clone ListX into ListH | Mikolaj Konarski | 42 hours |
| | | |||
| * | Implement shxFromShS and shsFromShX as a newtype coerce | Mikolaj Konarski | 42 hours |
| | | |||
| * | Make ShS a newtype over ShX | Mikolaj Konarski | 46 hours |
| | | | | | TODO: use lemmas in place of the unsafeCoerceRefl | ||
| * | Fix f in SMayNat to always be SNat and UNPACK it | Mikolaj Konarski | 47 hours |
| | | |||
| * | Implement Tom's ixsFromIxS | Mikolaj Konarski | 2 days |
| | | | | | | | that really helps in processing indexes using list functions and getting back to the same type of index now that KnownNat is removed from IxS and so the type information is harder to preserve. | ||
| * | Implement index conversions as unsafeCoerce | Mikolaj Konarski | 3 days |
| | | | | | until maybe we make shaped and ranked newtypes over mixed? | ||
| * | Fix a few KnownNat in ShS-related TODOs and reword the rest | Mikolaj Konarski | 4 days |
| | | |||
| * | Improve haddocks of mvecsUnsafeFreeze | Tom Smeding | 4 days |
| | | |||
| * | Temporarily revert ListS as a newtype over ListX | Mikolaj Konarski | 4 days |
| | | | | | | | | | until a GHC workaround is found. Please revert this commit ASAP so that horde-ad can coerce shaped to mixed things for free (unless the cost of the new WrapJust type turns out to overweight the benefit, which is unlikely, and/or unless unsafeCoerce works without WrapJust somehow). | ||
| * | Make type variables consistent between shaped and mixed lists | Mikolaj Konarski | 4 days |
| | | |||
| * | Remove KnownNat from ListS and express ListS as newtype over ListX | Mikolaj Konarski | 5 days |
| | | | | | as sketched by Tom. | ||
| * | Remove the preposterous shsFromListS and shsFromIxS | Mikolaj Konarski | 5 days |
| | | |||
| * | Generalize shsTakeIx | Mikolaj Konarski | 5 days |
| | | |||
| * | Add method mvecsUnsafeFreeze and use it | Mikolaj Konarski | 7 days |
| | | |||
| * | Speed up the bad case of mvecsReplicate using mvecsWriteLinear | Mikolaj Konarski | 7 days |
| | | |||
| * | Generalize ix?ToLinear and speed it up a bit | Mikolaj Konarski | 7 days |
| | | |||
| * | Add INLINEABLE to ixxToLinear ahead of generalization, to benchmark | Mikolaj Konarski | 8 days |
| | | | | | No horde-ad test speedup noticed. | ||
| * | Express mvecsWrite and mvecsWritePartial using the new methods | Mikolaj Konarski | 8 days |
| | | | | | | | | and change the type of the latter to make it possible. This slightly improves performance of horde-ad tests, before horde-ad even starts using the Linear methods, which improves performance even more. | ||
| * | Add mvecsWriteLinear and mvecsWritePartialLinear (unused yet) | Mikolaj Konarski | 8 days |
| | | |||
| * | Add mvecsReplicate | Mikolaj Konarski | 9 days |
| | | |||
| * | XArray: Fix doc comment on ravelOuterNHEADmaster | Tom Smeding | 10 days |
| | | |||
| * | Improve runtime and streaming of fromListOuter | Mikolaj Konarski | 11 days |
| | | |||
| * | Inlining magic | Tom Smeding | 13 days |
| | | |||
| * | Restore suffixes sharing in *FromLinear | Tom Smeding | 13 days |
| | | | | | Thanks Mikolaj for spotting it's broken | ||
| * | Make shsFromList even more const-like | Mikolaj Konarski | 14 days |
| | | |||
| * | Add a missing INLINEABLE for ixsToList | Mikolaj Konarski | 14 days |
| | | |||
| * | Define {list,sh,ix}*ToList functions using 'build' | Tom Smeding | 14 days |
| | | | | | This should allow foldr/build fusion | ||
| * | Let sh*FromList functions print proper error messages | Tom Smeding | 2025-12-02 |
| | | |||
| * | Provide ix*FromLinear for all three shape kinds | Tom Smeding | 2025-12-02 |
| | | | | | This speeds up {r,s}generatePrim | ||
| * | Doc comments | Tom Smeding | 2025-12-02 |
| | | |||
| * | Style and uniformity of shape/index/list functions | Tom Smeding | 2025-12-02 |
| | | |||
| * | Generalize mgeneratePrim to potentially avoid @fmap fromIntegral@ | Mikolaj Konarski | 2025-12-02 |
| | | |||
| * | Define mgeneratePrim as a fast special case variant | Mikolaj Konarski | 2025-12-02 |
| | | |||
| * | Unify fromList functions for shapes | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Don't call continuation-based functions just *FromList | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Unify toList functions for shapes | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Expose the unfolding of the indexing operations | Mikolaj Konarski | 2025-12-01 |
| | | |||
| * | Inline all higher order shape functions | Mikolaj Konarski | 2025-11-30 |
| | | |||
| * | Optimize X.index, but measurements unconclusive | Mikolaj Konarski | 2025-11-27 |
| | | |||
| * | Add INLINEABLE on ixxFromLinear | Tom Smeding | 2025-11-26 |
| | | |||
| * | Benchmark and improve ixxFromLinear | Tom Smeding | 2025-11-26 |
| | | |||
| * | Commit Tom's new code for sh?Enum functions | Mikolaj Konarski | 2025-11-26 |
| | | |||
| * | Update doc comment in Trace | Tom Smeding | 2025-11-24 |
| | | |||
| * | Export PermR from top-level | Tom Smeding | 2025-11-24 |
| | | |||
| * | trace: Print arguments and return value | Tom Smeding | 2025-11-24 |
| | | |||
| * | Fix error messages for pi/fromRational in Mixed | Tom Smeding | 2025-11-22 |
| | | | | | Thanks Mikolaj! | ||
| * | Generalise sh?Enum functions to arbitrary Num | Tom Smeding | 2025-11-18 |
| | | | | | | | | The explicit usage at Int in the non-primed versions of the functions results in an auto-generated SPEC rule at Int, so even without any SPECIALIZE pragmas, using sh?Enum' at Int should not (need to) result in multiple specialisations. | ||
| * | Add shsEnum and shrEnum | Tom Smeding | 2025-11-18 |
| | | |||
| * | Also replace replicateScal -> replicatePrim in error messages | Tom Smeding | 2025-11-18 |
| | | |||
