aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Odds and endsMikolaj Konarski9 days
|
* Eliminate all QuantifiedConstraints extensions from the codeMikolaj Konarski9 days
|
* Use shxDropSSX instead of shxSplitApp, etc.Mikolaj Konarski9 days
|
* Add pragmas to functions that -fprof-late-overloaded-calls reportsMikolaj Konarski9 days
| | | | | | | 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).
* Remove ixsFromIxR' and simplify ixsFromIxRMikolaj Konarski9 days
|
* Make List?, except ListH, less generalMikolaj Konarski9 days
|
* De-triplicate ix?ToLinearMikolaj Konarski9 days
|
* De-triplicate sh?EnumMikolaj Konarski9 days
|
* Define ix?FromLinear without THMikolaj Konarski9 days
|
* Implement index conversions as unsafeCoerceMikolaj Konarski9 days
| | | | until maybe we make shaped and ranked newtypes over mixed?
* Optimize slightly sh?FromList and sh?ToListmild-tweaks-repackagedMikolaj Konarski9 days
|
* Implement ranked shape conversions as newtype coercesMikolaj Konarski9 days
|
* Make ShR a newtype over ShXMikolaj Konarski9 days
|
* Add the trivial Eq and Ord instances also for StaticShXMikolaj Konarski9 days
|
* Prefer newtype deriving over Generic deriving for simplicityMikolaj Konarski9 days
|
* Temporarily remove the UNPACK, until GHC is fixed not to crash with itMikolaj Konarski9 days
|
* Optimize the representation of ListHMikolaj Konarski9 days
|
* Inline SMayNat in ListHMikolaj Konarski9 days
|
* Clone ListX into ListHMikolaj Konarski9 days
|
* Simplify the signature of fooIndexMikolaj Konarski9 days
|
* Implement shxFromShS and shsFromShX as a newtype coerceMikolaj Konarski9 days
|
* Make ShS a newtype over ShXMikolaj Konarski9 days
| | | | TODO: use lemmas in place of the unsafeCoerceRefl
* Work around the following GHC bug in GHC 9.10.3:Mikolaj Konarski9 days
| | | | | | | | | | | | | | | | src/Data/Array/Nested/Mixed.hs:1045:13: error: [GHC-83865] • Couldn't match type ‘i0’ with ‘Int’ Expected: ShX sh i0 Actual: ShX sh1 Int ‘i0’ is untouchable inside the constraints: (n1 : sh1) ~ (AddMaybe (AddMaybe i n) k : sh) bound by UnkSkol (please report this as a bug) Call stack: CallStack (from HasCallStack): unkSkolAnon, called at compiler/GHC/Tc/Types/Origin.hs:331:42 in ghc-9.10.3-b4c3:GHC.Tc.Types.Origin unkSkol, called at compiler/GHC/Tc/Gen/Pat.hs:1275:49 in ghc-9.10.3-b4c3:GHC.Tc.Gen.Pat at src/Data/Array/Nested/Mixed.hs:1045:7-14
* Depend on the versions of orthotope that have toVectorListTHEADuncontroversial-tweaks-repackagedmasterMikolaj Konarski10 days
|
* Add a precautionary INLINEABLE to the now polymorphic shsTakeIxMikolaj Konarski10 days
|
* Add mtoListPrimLinear and friendsMikolaj Konarski10 days
|
* Add mslice to be typing-wise a counterpart of mappendMikolaj Konarski10 days
|
* Fix typo and reword docsTom Smeding10 days
|
* Add a bang not to overlap big allocationsMikolaj Konarski10 days
|
* Uniformise indentationTom Smeding10 days
|
* Save some toVector by using toVectorListTMikolaj Konarski10 days
|
* Let X.fromListOuterSN and ravelOuterN take NonEmptyMikolaj Konarski10 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.
* Variable naming and doc commentsTom Smeding10 days
|
* Simplify and slightly speed up internal fromList functionsMikolaj Konarski2026-02-12
|
* Inline most lifting wrappersMikolaj Konarski2026-02-12
| | | | | | | 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.
* Make it clear that ravelOuterN is called just onceMikolaj Konarski2026-02-12
|
* Add a potentialy helpful bang for consistencyMikolaj Konarski2026-02-12
|
* Document that mshapeTree is partialMikolaj Konarski2026-02-12
|
* Add benchmarks for sumFullMikolaj Konarski2026-01-31
|
* Make library strided-array-ops publicMikolaj Konarski2026-01-31
|
* Add a few more GHC warnings and fix all offendersMikolaj Konarski2026-01-31
|
* Mute the pattern-namespace-specifier warning until things can be fixedMikolaj Konarski2026-01-31
|
* Improve the implementation of the other fromSNat'Mikolaj Konarski2026-01-31
|
* Improve the implementation of fromSNat'Mikolaj Konarski2026-01-31
| | | | leading to 6% lower allocation in Det.hs primal test.
* Fix f in SMayNat to always be SNat and UNPACK itMikolaj Konarski2026-01-31
|
* Implement Tom's ixsFromIxSMikolaj Konarski2026-01-31
| | | | | | 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.
* Make type variables consistent between shaped and mixed listsMikolaj Konarski2026-01-31
|
* Generalize shsTakeIxMikolaj Konarski2026-01-31
|
* Speed up the bad case of mvecsReplicate using mvecsWriteLinearMikolaj Konarski2026-01-31
|