aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add the trivial Eq and Ord instances also for StaticShXMikolaj Konarski3 days
|
* Prefer newtype deriving over Generic deriving for simplicityMikolaj Konarski3 days
|
* Temporarily remove the UNPACK, until GHC is fixed not to crash with itMikolaj Konarski3 days
|
* Optimize the representation of ListHMikolaj Konarski3 days
|
* Inline SMayNat in ListHMikolaj Konarski3 days
|
* Clone ListX into ListHMikolaj Konarski3 days
|
* Simplify the signature of fooIndexMikolaj Konarski3 days
|
* Implement shxFromShS and shsFromShX as a newtype coerceMikolaj Konarski4 days
|
* Make ShS a newtype over ShXMikolaj Konarski4 days
| | | | TODO: use lemmas in place of the unsafeCoerceRefl
* Fix f in SMayNat to always be SNat and UNPACK itMikolaj Konarski4 days
|
* Implement Tom's ixsFromIxSMikolaj Konarski4 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 unsafeCoerceMikolaj Konarski5 days
| | | | until maybe we make shaped and ranked newtypes over mixed?
* Fix a few KnownNat in ShS-related TODOs and reword the restMikolaj Konarski6 days
|
* Make arith enums disjointTom Smeding6 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 Smeding6 days
|
* Temporarily revert ListS as a newtype over ListXMikolaj Konarski6 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 Konarski6 days
|
* Remove KnownNat from ListS and express ListS as newtype over ListXMikolaj Konarski7 days
| | | | as sketched by Tom.
* Remove the preposterous shsFromListS and shsFromIxSMikolaj Konarski7 days
|
* Generalize shsTakeIxMikolaj Konarski7 days
|
* Fix a typo in IntElt IntMikolaj Konarski7 days
|
* Add method mvecsUnsafeFreeze and use itMikolaj Konarski9 days
|
* Speed up the bad case of mvecsReplicate using mvecsWriteLinearMikolaj Konarski9 days
|
* Generalize ix?ToLinear and speed it up a bitMikolaj Konarski9 days
|
* Add INLINEABLE to ixxToLinear ahead of generalization, to benchmarkMikolaj Konarski10 days
| | | | No horde-ad test speedup noticed.
* Express mvecsWrite and mvecsWritePartial using the new methodsMikolaj Konarski10 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 Konarski10 days
|
* Add mvecsReplicateMikolaj Konarski11 days
|
* XArray: Fix doc comment on ravelOuterNHEADmasterTom Smeding12 days
|
* Improve runtime and streaming of fromListOuterMikolaj Konarski13 days
|
* Inlining magicTom Smeding2025-12-03
|
* Restore suffixes sharing in *FromLinearTom Smeding2025-12-03
| | | | Thanks Mikolaj for spotting it's broken
* Make shsFromList even more const-likeMikolaj Konarski2025-12-02
|
* Add a missing INLINEABLE for ixsToListMikolaj Konarski2025-12-02
|
* Define {list,sh,ix}*ToList functions using 'build'Tom Smeding2025-12-02
| | | | This should allow foldr/build fusion
* template-haskell is now used unconditionallyTom Smeding2025-12-02
|
* Let sh*FromList functions print proper error messagesTom Smeding2025-12-02
|
* Provide ix*FromLinear for all three shape kindsTom Smeding2025-12-02
| | | | This speeds up {r,s}generatePrim
* Doc commentsTom Smeding2025-12-02
|
* Style and uniformity of shape/index/list functionsTom Smeding2025-12-02
|
* Generalize mgeneratePrim to potentially avoid @fmap fromIntegral@Mikolaj Konarski2025-12-02
|
* Define mgeneratePrim as a fast special case variantMikolaj Konarski2025-12-02
|
* Simplify genShRwithTarget a littleMikolaj Konarski2025-12-01
|
* Unify fromList functions for shapesMikolaj Konarski2025-12-01
|
* Don't call continuation-based functions just *FromListMikolaj Konarski2025-12-01
|
* Unify toList functions for shapesMikolaj Konarski2025-12-01
|
* Expose the unfolding of the indexing operationsMikolaj Konarski2025-12-01
|
* 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
|