aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Make equal-rank-coercibility part of the interface of ListXmove-RankTom Smeding23 hours
|
* Justify two unsafeCoerces using partial coerceTom Smeding23 hours
|
* Apply some hlint hintsMikolaj Konarski2 days
|
* Tweak sized list type synonyms slightlyMikolaj Konarski4 days
|
* Officially describe the data invariant for ListX and the punched holesMikolaj Konarski5 days
|
* Use lazilyConcat for listxAppendMikolaj Konarski5 days
|
* Implement ListX as [] with strict pattern synonymsMikolaj Konarski5 days
|
* Remove copies of length and toList operations that Foldable already providesMikolaj Konarski5 days
| | | | in preparation for deriving Foldable for []
* Remove almost all unsafeCoerceMikolaj Konarski6 days
|
* Make ranked and shaped lists newtypes over mixedMikolaj Konarski6 days
|
* Simplify the index list pattern synonymsMikolaj Konarski6 days
|
* Fix typos/thinkosMikolaj Konarski8 days
|
* Audit remaining uses of KnownNat and SNat patternsMikolaj Konarski8 days
|
* Remove a couple of obsolete/wrong TODOsMikolaj Konarski8 days
|
* Rename TakeLen functions to TakeLenPerm; same for DropMikolaj Konarski8 days
|
* Fill and clean up *TakeIx and *DropIx functionsMikolaj Konarski2026-03-16
|
* Add permId and permShiftNMikolaj Konarski2026-03-15
|
* Odds and endsMikolaj Konarski2026-03-15
|
* Eliminate all QuantifiedConstraints extensions from the codeMikolaj Konarski2026-03-15
|
* Use shxDropSSX instead of shxSplitApp, etc.Mikolaj Konarski2026-03-15
|
* Add pragmas to functions that -fprof-late-overloaded-calls reportsMikolaj Konarski2026-03-15
| | | | | | | 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 Konarski2026-03-15
|
* Make List?, except ListH, less generalMikolaj Konarski2026-03-15
|
* De-triplicate ix?ToLinearMikolaj Konarski2026-03-15
|
* De-triplicate sh?EnumMikolaj Konarski2026-03-15
|
* Define ix?FromLinear without THMikolaj Konarski2026-03-15
|
* Implement index conversions as unsafeCoerceMikolaj Konarski2026-03-15
| | | | until maybe we make shaped and ranked newtypes over mixed?
* Optimize slightly sh?FromList and sh?ToListmild-tweaks-repackagedMikolaj Konarski2026-03-15
|
* Implement ranked shape conversions as newtype coercesMikolaj Konarski2026-03-15
|
* Make ShR a newtype over ShXMikolaj Konarski2026-03-15
|
* Add the trivial Eq and Ord instances also for StaticShXMikolaj Konarski2026-03-15
|
* Prefer newtype deriving over Generic deriving for simplicityMikolaj Konarski2026-03-15
|
* Temporarily remove the UNPACK, until GHC is fixed not to crash with itMikolaj Konarski2026-03-15
|
* Optimize the representation of ListHMikolaj Konarski2026-03-15
|
* Inline SMayNat in ListHMikolaj Konarski2026-03-15
|
* Clone ListX into ListHMikolaj Konarski2026-03-15
|
* Simplify the signature of fooIndexMikolaj Konarski2026-03-15
|
* Implement shxFromShS and shsFromShX as a newtype coerceMikolaj Konarski2026-03-15
|
* Make ShS a newtype over ShXMikolaj Konarski2026-03-15
| | | | TODO: use lemmas in place of the unsafeCoerceRefl
* Work around the following GHC bug in GHC 9.10.3:Mikolaj Konarski2026-03-15
| | | | | | | | | | | | | | | | 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
* Add a precautionary INLINEABLE to the now polymorphic shsTakeIxMikolaj Konarski2026-03-14
|
* Add mtoListPrimLinear and friendsMikolaj Konarski2026-03-14
|
* Add mslice to be typing-wise a counterpart of mappendMikolaj Konarski2026-03-14
|
* Fix typo and reword docsTom Smeding2026-03-14
|
* Add a bang not to overlap big allocationsMikolaj Konarski2026-03-14
|
* Uniformise indentationTom Smeding2026-03-14
|
* Save some toVector by using toVectorListTMikolaj Konarski2026-03-14
|
* Let X.fromListOuterSN and ravelOuterN take NonEmptyMikolaj Konarski2026-03-14
|
* Don't force a list of identical elementsMikolaj Konarski2026-03-14
| | | | | | | | | 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 Smeding2026-03-14
|