| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Make ShR a newtype over ShX | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Add the trivial Eq and Ord instances also for StaticShX | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Prefer newtype deriving over Generic deriving for simplicity | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Temporarily remove the UNPACK, until GHC is fixed not to crash with it | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Optimize the representation of ListH | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Inline SMayNat in ListH | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Clone ListX into ListH | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Simplify the signature of fooIndex | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Implement shxFromShS and shsFromShX as a newtype coerce | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Make ShS a newtype over ShX | Mikolaj Konarski | 2026-02-18 |
| | | | | | TODO: use lemmas in place of the unsafeCoerceRefl | ||
| * | Implement index conversions as unsafeCoerce | Mikolaj Konarski | 2026-02-18 |
| | | | | | until maybe we make shaped and ranked newtypes over mixed? | ||
| * | Fix a few KnownNat in ShS-related TODOs and reword the rest | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Temporarily revert ListS as a newtype over ListX | Mikolaj Konarski | 2026-02-18 |
| | | | | | | | | | 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). | ||
| * | Remove KnownNat from ListS and express ListS as newtype over ListX | Mikolaj Konarski | 2026-02-18 |
| | | | | | as sketched by Tom. | ||
| * | Depend on the versions of orthotope that have toVectorListTuncontroversial-tweaks-repackaged | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Add a precautionary INLINEABLE to the now polymorphic shsTakeIx | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Add mtoListPrimLinear and friends | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Add mslice to be typing-wise a counterpart of mappend | Mikolaj Konarski | 2026-02-18 |
| | | |||
| * | Add a bang not to overlap big allocations | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Save some VS.concat by using toVectorListT | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Let X.fromListOuterSN and ravelOuterN take NonEmpty | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Don't force a list of identical elements | Mikolaj Konarski | 2026-02-12 |
| | | | | | | | | | | 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 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. | ||
| * | Make it clear that ravelOuterN is called just once | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Add a potentialy helpful bang for consistency | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Document that mshapeTree is partialHEADmild-tweaks-repackagedmaster | Mikolaj Konarski | 2026-02-12 |
| | | |||
| * | Add benchmarks for sumFull | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Make library strided-array-ops public | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Add a few more GHC warnings and fix all offenders | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Mute the pattern-namespace-specifier warning until things can be fixed | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Improve the implementation of the other fromSNat' | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Improve the implementation of fromSNat' | Mikolaj Konarski | 2026-01-31 |
| | | | | | leading to 6% lower allocation in Det.hs primal test. | ||
| * | Fix f in SMayNat to always be SNat and UNPACK it | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Implement Tom's ixsFromIxS | Mikolaj Konarski | 2026-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 lists | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Generalize shsTakeIx | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Speed up the bad case of mvecsReplicate using mvecsWriteLinear | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Express mvecsWrite and mvecsWritePartial using the new methods | Mikolaj Konarski | 2026-01-31 |
| | | | | | | | | 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 Konarski | 2026-01-31 |
| | | |||
| * | Add mvecsReplicate | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Remove the preposterous shsFromListS and shsFromIxS | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Generalize ix?ToLinear and speed it up a bit | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Add INLINEABLE to ixxToLinear ahead of generalization, to benchmark | Mikolaj Konarski | 2026-01-31 |
| | | | | | No horde-ad test speedup noticed. | ||
| * | Improve haddocks of mvecsUnsafeFreeze | Tom Smeding | 2026-01-31 |
| | | |||
| * | Add method mvecsUnsafeFreeze and use it | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Make arith enums disjoint | Tom Smeding | 2026-01-31 |
| | | | | | | | 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. | ||
| * | Fix a typo in IntElt Int | Mikolaj Konarski | 2026-01-31 |
| | | |||
| * | Use numEltSumFull in X.sumFull | Tom Smeding | 2026-01-16 |
| | | | | | Thanks Mikolaj :) | ||
| * | C: Fix REDUCEFULL | Tom Smeding | 2026-01-16 |
| | | | | | Only the last inner vector was kept... | ||
