| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Make equal-rank-coercibility part of the interface of ListXmove-Rank | Tom Smeding | 24 hours |
| | | |||
| * | Justify two unsafeCoerces using partial coerce | Tom Smeding | 25 hours |
| | | |||
| * | Apply some hlint hints | Mikolaj Konarski | 2 days |
| | | |||
| * | Tweak sized list type synonyms slightly | Mikolaj Konarski | 4 days |
| | | |||
| * | Officially describe the data invariant for ListX and the punched holes | Mikolaj Konarski | 5 days |
| | | |||
| * | Use lazilyConcat for listxAppend | Mikolaj Konarski | 5 days |
| | | |||
| * | Implement ListX as [] with strict pattern synonyms | Mikolaj Konarski | 5 days |
| | | |||
| * | Remove copies of length and toList operations that Foldable already provides | Mikolaj Konarski | 5 days |
| | | | | | in preparation for deriving Foldable for [] | ||
| * | Remove almost all unsafeCoerce | Mikolaj Konarski | 6 days |
| | | |||
| * | Make ranked and shaped lists newtypes over mixed | Mikolaj Konarski | 6 days |
| | | |||
| * | Simplify the index list pattern synonyms | Mikolaj Konarski | 6 days |
| | | |||
| * | Fix typos/thinkos | Mikolaj Konarski | 8 days |
| | | |||
| * | Audit remaining uses of KnownNat and SNat patterns | Mikolaj Konarski | 8 days |
| | | |||
| * | Remove a couple of obsolete/wrong TODOs | Mikolaj Konarski | 8 days |
| | | |||
| * | Rename TakeLen functions to TakeLenPerm; same for Drop | Mikolaj Konarski | 8 days |
| | | |||
| * | Fill and clean up *TakeIx and *DropIx functions | Mikolaj Konarski | 2026-03-16 |
| | | |||
| * | Add permId and permShiftN | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Odds and ends | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Eliminate all QuantifiedConstraints extensions from the code | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Use shxDropSSX instead of shxSplitApp, etc. | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Add pragmas to functions that -fprof-late-overloaded-calls reports | Mikolaj Konarski | 2026-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 ixsFromIxR | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Make List?, except ListH, less general | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | De-triplicate ix?ToLinear | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | De-triplicate sh?Enum | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Define ix?FromLinear without TH | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Implement index conversions as unsafeCoerce | Mikolaj Konarski | 2026-03-15 |
| | | | | | until maybe we make shaped and ranked newtypes over mixed? | ||
| * | Optimize slightly sh?FromList and sh?ToListmild-tweaks-repackaged | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Implement ranked shape conversions as newtype coerces | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Make ShR a newtype over ShX | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Add the trivial Eq and Ord instances also for StaticShX | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Prefer newtype deriving over Generic deriving for simplicity | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Temporarily remove the UNPACK, until GHC is fixed not to crash with it | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Optimize the representation of ListH | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Inline SMayNat in ListH | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Clone ListX into ListH | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Simplify the signature of fooIndex | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Implement shxFromShS and shsFromShX as a newtype coerce | Mikolaj Konarski | 2026-03-15 |
| | | |||
| * | Make ShS a newtype over ShX | Mikolaj Konarski | 2026-03-15 |
| | | | | | TODO: use lemmas in place of the unsafeCoerceRefl | ||
| * | Work around the following GHC bug in GHC 9.10.3: | Mikolaj Konarski | 2026-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 shsTakeIx | Mikolaj Konarski | 2026-03-14 |
| | | |||
| * | Add mtoListPrimLinear and friends | Mikolaj Konarski | 2026-03-14 |
| | | |||
| * | Add mslice to be typing-wise a counterpart of mappend | Mikolaj Konarski | 2026-03-14 |
| | | |||
| * | Save some toVector by using toVectorListT | Mikolaj Konarski | 2026-03-14 |
| | | |||
| * | Let X.fromListOuterSN and ravelOuterN take NonEmpty | Mikolaj Konarski | 2026-03-14 |
| | | |||
| * | Don't force a list of identical elements | Mikolaj Konarski | 2026-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 comments | Tom Smeding | 2026-03-14 |
| | | |||
| * | Simplify and slightly speed up internal fromList functions | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Inline most lifting wrappers | Mikolaj Konarski | 2026-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. | ||
| * | Add a potentialy helpful bang for consistency | Mikolaj Konarski | 2026-02-12 |
| | | |||
