aboutsummaryrefslogtreecommitdiff
path: root/src/Data/Array/Nested
Commit message (Collapse)AuthorAge
* Simplify and slightly speed up internal fromList functionsMikolaj Konarski10 days
|
* Document that mshapeTree is partialMikolaj Konarski10 days
|
* Use shxDropSSX instead of shxSplitApp, etc.Mikolaj Konarski10 days
|
* Add pragmas to functions that -fprof-late-overloaded-calls reportsMikolaj Konarski2025-12-27
| | | | | | | as breaking the chain of specialization (but it's currently broken, so these may be false positives, but these pragmas may be handy in the future anyway and they can't do much harm in theory and in practice they are right now neutral performance-wise).
* Inline most lifting wrappersMikolaj Konarski2025-12-24
| | | | | | | This results in only marginal performance gain, probably because they are already small enough to be specialized and/or inlined automatically, but these pragmas ensure it remains so regardless of changes in GHC heuristics.
* Add a few more GHC warnings and fix all offendersMikolaj Konarski2025-12-22
|
* Remove ixsFromIxR' and simplify ixsFromIxRMikolaj Konarski2025-12-20
|
* Add a potentialy helpful bang for consistencyMikolaj Konarski2025-12-20
|
* Improve the implemenetation of fromSNat'Mikolaj Konarski2025-12-19
| | | | leading to 6% lower allocation in Det.hs primal test.
* Make List?, except ListH, less generalMikolaj Konarski2025-12-17
|
* Optimize slightly sh?FromList and sh?ToListMikolaj Konarski2025-12-17
|
* De-triplicate ix?ToLinearMikolaj Konarski2025-12-16
|
* De-triplicate sh?EnumMikolaj Konarski2025-12-16
|
* Define ix?FromLinear without THMikolaj Konarski2025-12-16
|
* Implement ranked shape conversions as newtype coercesMikolaj Konarski2025-12-16
|
* Make ShR a newtype over ShXMikolaj Konarski2025-12-16
|
* Add the trivial Eq and Ord instances also for StaticShXMikolaj Konarski2025-12-16
|
* Prefer newtype deriving over Generic deriving for simplicityMikolaj Konarski2025-12-16
|
* Temporarily remove the UNPACK, until GHC is fixed not to crash with itMikolaj Konarski2025-12-16
|
* Optimize the representation of ListHrepro-UNPACKMikolaj Konarski2025-12-16
|
* Inline SMayNat in ListHMikolaj Konarski2025-12-16
|
* Clone ListX into ListHMikolaj Konarski2025-12-16
|
* Simplify the signature of fooIndexMikolaj Konarski2025-12-16
|
* Implement shxFromShS and shsFromShX as a newtype coerceMikolaj Konarski2025-12-16
|
* Make ShS a newtype over ShXMikolaj Konarski2025-12-16
| | | | TODO: use lemmas in place of the unsafeCoerceRefl
* Fix f in SMayNat to always be SNat and UNPACK itMikolaj Konarski2025-12-14
|
* Implement Tom's ixsFromIxSMikolaj Konarski2025-12-14
| | | | | | 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 Konarski2025-12-13
| | | | until maybe we make shaped and ranked newtypes over mixed?
* Fix a few KnownNat in ShS-related TODOs and reword the restMikolaj Konarski2025-12-12
|
* Improve haddocks of mvecsUnsafeFreezeTom Smeding2025-12-12
|
* Temporarily revert ListS as a newtype over ListXMikolaj Konarski2025-12-12
| | | | | | | | 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 Konarski2025-12-12
|
* Remove KnownNat from ListS and express ListS as newtype over ListXMikolaj Konarski2025-12-11
| | | | as sketched by Tom.
* Remove the preposterous shsFromListS and shsFromIxSMikolaj Konarski2025-12-11
|
* Generalize shsTakeIxMikolaj Konarski2025-12-11
|
* Add method mvecsUnsafeFreeze and use itMikolaj Konarski2025-12-09
|
* Speed up the bad case of mvecsReplicate using mvecsWriteLinearMikolaj Konarski2025-12-09
|
* Generalize ix?ToLinear and speed it up a bitMikolaj Konarski2025-12-09
|
* Add INLINEABLE to ixxToLinear ahead of generalization, to benchmarkMikolaj Konarski2025-12-09
| | | | No horde-ad test speedup noticed.
* Express mvecsWrite and mvecsWritePartial using the new methodsMikolaj Konarski2025-12-08
| | | | | | | 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 Konarski2025-12-08
|
* Add mvecsReplicateMikolaj Konarski2025-12-07
|
* 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
* 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
|