<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ox-arrays/src/Data/Array/Nested/Shaped.hs, branch move-Rank</title>
<subtitle>Nested, compositional struct-of-arrays orthotope arrays
</subtitle>
<id>https://git.tomsmeding.com/ox-arrays/atom?h=move-Rank</id>
<link rel='self' href='https://git.tomsmeding.com/ox-arrays/atom?h=move-Rank'/>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/'/>
<updated>2026-04-02T09:54:26Z</updated>
<entry>
<title>Audit remaining uses of KnownNat and SNat patterns</title>
<updated>2026-04-02T09:54:26Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2026-04-02T09:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=086145dfee33e6e198abc148a6375ce929b2c88f'/>
<id>urn:sha1:086145dfee33e6e198abc148a6375ce929b2c88f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename TakeLen functions to TakeLenPerm; same for Drop</title>
<updated>2026-04-02T08:33:33Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2026-04-02T08:32:53Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=31a603bb5d685306fe9561eac25c62b514c62be2'/>
<id>urn:sha1:31a603bb5d685306fe9561eac25c62b514c62be2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fill and clean up *TakeIx and *DropIx functions</title>
<updated>2026-03-16T13:36:36Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2026-03-16T13:36:36Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=fc2a1370d67f12b50e3e5750d17aefd33bc3d8a3'/>
<id>urn:sha1:fc2a1370d67f12b50e3e5750d17aefd33bc3d8a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Odds and ends</title>
<updated>2026-03-15T09:51:05Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2026-02-09T16:11:51Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=dfe622994702e9a21896080391793a782e6201c6'/>
<id>urn:sha1:dfe622994702e9a21896080391793a782e6201c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add pragmas to functions that -fprof-late-overloaded-calls reports</title>
<updated>2026-03-15T09:50:33Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2025-12-25T22:45:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=0f9662136f5f0e246650df0606f41b2d49f59734'/>
<id>urn:sha1:0f9662136f5f0e246650df0606f41b2d49f59734</id>
<content type='text'>
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).
</content>
</entry>
<entry>
<title>Define ix?FromLinear without TH</title>
<updated>2026-03-15T09:49:48Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2025-12-16T12:24:25Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=67b072ea3fd296f701bbded7e2d2c570794c2b36'/>
<id>urn:sha1:67b072ea3fd296f701bbded7e2d2c570794c2b36</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make ShS a newtype over ShX</title>
<updated>2026-03-15T09:35:21Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2025-12-11T13:08:18Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=01a79440952d789184101fc1aad277c00d010a25'/>
<id>urn:sha1:01a79440952d789184101fc1aad277c00d010a25</id>
<content type='text'>
TODO: use lemmas in place of the unsafeCoerceRefl
</content>
</entry>
<entry>
<title>Add a precautionary INLINEABLE to the now polymorphic shsTakeIx</title>
<updated>2026-03-14T11:08:07Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2026-02-12T08:55:43Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=dbb51049d237dd325ad923b9e0c617ca1a2ee4eb'/>
<id>urn:sha1:dbb51049d237dd325ad923b9e0c617ca1a2ee4eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add mtoListPrimLinear and friends</title>
<updated>2026-03-14T11:08:05Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2026-02-10T10:48:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=1c99e9ff0d18e323fe159e54af9775c46d4abd76'/>
<id>urn:sha1:1c99e9ff0d18e323fe159e54af9775c46d4abd76</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Inline most lifting wrappers</title>
<updated>2026-02-12T09:16:29Z</updated>
<author>
<name>Mikolaj Konarski</name>
<email>mikolaj.konarski@funktory.com</email>
</author>
<published>2025-12-24T18:31:38Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/ox-arrays/commit/?id=653ad3cb2cb84ff30eb33b3d3832852a419981a7'/>
<id>urn:sha1:653ad3cb2cb84ff30eb33b3d3832852a419981a7</id>
<content type='text'>
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.
</content>
</entry>
</feed>
