aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Eliminate all QuantifiedConstraints extensions from the codemvecsReplicateMikolaj Konarski9 hours
|
* Add a bang not to overlap big allocationsMikolaj Konarski6 days
|
* Merge branch 'master' into mvecsReplicateTom Smeding6 days
|\
| * Use numEltSumFull in X.sumFullHEADmasterTom Smeding6 days
| | | | | | | | Thanks Mikolaj :)
| * C: Fix REDUCEFULLTom Smeding6 days
| | | | | | | | Only the last inner vector was kept...
| * test: Port sum tests to sumAllTom Smeding6 days
| |
* | Fix +trace-wrappers after 682c584b26eTom Smeding6 days
| |
* | Speed up sumFull from 36ms to 82 microsecondsMikolaj Konarski7 days
| |
* | Save some VS.concat by using toVectorListTMikolaj Konarski7 days
| |
* | Let X.fromListOuterSN and ravelOuterN take NonEmptyMikolaj Konarski9 days
| |
* | Don't force a list of identical elementsMikolaj Konarski10 days
| | | | | | | | | | | | | | | | | | This makes a big difference when a pair of lists is attempted to be streamed and the first one is of trivial primitive elements (e.g., when implementing a fold as a special case of mapAccum with the output list containing only ()). Forcing the first trivial list would cause the second non-trivial list to be represented as nested thunks, burdening GC greatly.
* | 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
| |
* | Improve the implementation of the other fromSNat'Mikolaj Konarski10 days
| |
* | Make library strided-array-ops publicMikolaj Konarski2025-12-27
| |
* | 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
| |
* | Mute the pattern-namespace-specifier warning until things can be fixedMikolaj Konarski2025-12-22
| |
* | Make it clear that ravelOuterN is called just onceMikolaj Konarski2025-12-21
| |
* | 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
| |
* | Make arith enums disjointTom Smeding2025-12-12
| | | | | | | | | | | | 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 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
| |