aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Inline SMayNat in ListHMikolaj Konarski41 hours
|
* Clone ListX into ListHMikolaj Konarski42 hours
|
* Implement shxFromShS and shsFromShX as a newtype coerceMikolaj Konarski42 hours
|
* Make ShS a newtype over ShXMikolaj Konarski46 hours
| | | | TODO: use lemmas in place of the unsafeCoerceRefl
* Fix f in SMayNat to always be SNat and UNPACK itMikolaj Konarski47 hours
|
* Implement Tom's ixsFromIxSMikolaj Konarski2 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 Konarski3 days
| | | | until maybe we make shaped and ranked newtypes over mixed?
* Fix a few KnownNat in ShS-related TODOs and reword the restMikolaj Konarski4 days
|
* Improve haddocks of mvecsUnsafeFreezeTom Smeding4 days
|
* Temporarily revert ListS as a newtype over ListXMikolaj Konarski4 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 Konarski4 days
|
* Remove KnownNat from ListS and express ListS as newtype over ListXMikolaj Konarski5 days
| | | | as sketched by Tom.
* Remove the preposterous shsFromListS and shsFromIxSMikolaj Konarski5 days
|
* Generalize shsTakeIxMikolaj Konarski5 days
|
* Add method mvecsUnsafeFreeze and use itMikolaj Konarski7 days
|
* Speed up the bad case of mvecsReplicate using mvecsWriteLinearMikolaj Konarski7 days
|
* Generalize ix?ToLinear and speed it up a bitMikolaj Konarski7 days
|
* Add INLINEABLE to ixxToLinear ahead of generalization, to benchmarkMikolaj Konarski8 days
| | | | No horde-ad test speedup noticed.
* Express mvecsWrite and mvecsWritePartial using the new methodsMikolaj Konarski8 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 Konarski8 days
|
* Add mvecsReplicateMikolaj Konarski9 days
|
* XArray: Fix doc comment on ravelOuterNHEADmasterTom Smeding10 days
|
* Improve runtime and streaming of fromListOuterMikolaj Konarski11 days
|
* Inlining magicTom Smeding13 days
|
* Restore suffixes sharing in *FromLinearTom Smeding13 days
| | | | Thanks Mikolaj for spotting it's broken
* Make shsFromList even more const-likeMikolaj Konarski14 days
|
* Add a missing INLINEABLE for ixsToListMikolaj Konarski14 days
|
* Define {list,sh,ix}*ToList functions using 'build'Tom Smeding14 days
| | | | This should allow foldr/build fusion
* 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
|
* 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
|
* 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.
* Add shsEnum and shrEnumTom Smeding2025-11-18
|
* Also replace replicateScal -> replicatePrim in error messagesTom Smeding2025-11-18
|