aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix a few KnownNat in ShS-related TODOs and reword the restMikolaj Konarski2 days
|
* Make arith enums disjointTom Smeding2 days
| | | | | | This should prevent operation confusion like calling oxarop_binary_* with IB_QUOT. No error is thrown statically, but at least the nonsense operation crashes reliably at runtime instead of doing, well, nonsense.
* Improve haddocks of mvecsUnsafeFreezeTom Smeding2 days
|
* Temporarily revert ListS as a newtype over ListXMikolaj Konarski3 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 listsMikolaj Konarski3 days
|
* Remove KnownNat from ListS and express ListS as newtype over ListXMikolaj Konarski3 days
| | | | as sketched by Tom.
* Remove the preposterous shsFromListS and shsFromIxSMikolaj Konarski3 days
|
* Generalize shsTakeIxMikolaj Konarski3 days
|
* Fix a typo in IntElt IntMikolaj Konarski4 days
|
* Add method mvecsUnsafeFreeze and use itMikolaj Konarski5 days
|
* Speed up the bad case of mvecsReplicate using mvecsWriteLinearMikolaj Konarski5 days
|
* Generalize ix?ToLinear and speed it up a bitMikolaj Konarski6 days
|
* Add INLINEABLE to ixxToLinear ahead of generalization, to benchmarkMikolaj Konarski6 days
| | | | No horde-ad test speedup noticed.
* Express mvecsWrite and mvecsWritePartial using the new methodsMikolaj Konarski6 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 Konarski6 days
|
* Add mvecsReplicateMikolaj Konarski7 days
|
* XArray: Fix doc comment on ravelOuterNHEADmasterTom Smeding9 days
|
* Improve runtime and streaming of fromListOuterMikolaj Konarski9 days
|
* Inlining magicTom Smeding11 days
|
* Restore suffixes sharing in *FromLinearTom Smeding11 days
| | | | Thanks Mikolaj for spotting it's broken
* Make shsFromList even more const-likeMikolaj Konarski12 days
|
* Add a missing INLINEABLE for ixsToListMikolaj Konarski12 days
|
* Define {list,sh,ix}*ToList functions using 'build'Tom Smeding12 days
| | | | This should allow foldr/build fusion
* template-haskell is now used unconditionallyTom Smeding12 days
|
* Let sh*FromList functions print proper error messagesTom Smeding12 days
|
* Provide ix*FromLinear for all three shape kindsTom Smeding12 days
| | | | This speeds up {r,s}generatePrim
* Doc commentsTom Smeding12 days
|
* Style and uniformity of shape/index/list functionsTom Smeding12 days
|
* Generalize mgeneratePrim to potentially avoid @fmap fromIntegral@Mikolaj Konarski12 days
|
* Define mgeneratePrim as a fast special case variantMikolaj Konarski13 days
|
* Simplify genShRwithTarget a littleMikolaj Konarski13 days
|
* Unify fromList functions for shapesMikolaj Konarski13 days
|
* Don't call continuation-based functions just *FromListMikolaj Konarski13 days
|
* Unify toList functions for shapesMikolaj Konarski13 days
|
* Expose the unfolding of the indexing operationsMikolaj Konarski13 days
|
* Inline all higher order shape functionsMikolaj Konarski2025-11-30
|
* Optimize X.index, but measurements unconclusiveMikolaj Konarski2025-11-27
|
* Add INLINEABLE on ixxFromLinearTom Smeding2025-11-26
|
* Benchmark and improve ixxFromLinearTom Smeding2025-11-26
|
* Commit Tom's new code for sh?Enum functionsMikolaj Konarski2025-11-26
|
* Update doc comment in TraceTom Smeding2025-11-24
|
* Export PermR from top-levelTom Smeding2025-11-24
|
* trace: Print arguments and return valueTom Smeding2025-11-24
|
* Fix error messages for pi/fromRational in MixedTom Smeding2025-11-22
| | | | Thanks Mikolaj!
* Generalise sh?Enum functions to arbitrary NumTom Smeding2025-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.
* Up base bound to 4.23 (seems to work fine with GHC 9.14-RC)Tom Smeding2025-11-18
|
* Add shsEnum and shrEnumTom Smeding2025-11-18
|
* Also replace replicateScal -> replicatePrim in error messagesTom Smeding2025-11-18
|
* Make first type arg of {m,s}emptyArray the shapeTom Smeding2025-11-17
|
* Rename, organise and cleanupTom Smeding2025-11-17
| | | | | | | Renamings: - *sumOuter1 -> *sumOuter1Prim - *rerank -> *rerankPrim - *replicateScal -> *replicatePrim