<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chad-fast/src/CHAD, branch multihot-cotangents</title>
<subtitle>An implementation of CHAD, towards performance
</subtitle>
<id>https://git.tomsmeding.com/chad-fast/atom?h=multihot-cotangents</id>
<link rel='self' href='https://git.tomsmeding.com/chad-fast/atom?h=multihot-cotangents'/>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/'/>
<updated>2026-02-14T17:03:28Z</updated>
<entry>
<title>WIP</title>
<updated>2026-02-14T17:03:28Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-14T17:03:28Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=4e9957bda4d983d667ad8a86013d766b2e013623'/>
<id>urn:sha1:4e9957bda4d983d667ad8a86013d766b2e013623</id>
<content type='text'>
</content>
</entry>
<entry>
<title>WIP</title>
<updated>2026-02-12T19:44:49Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-12T19:37:46Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=095cc16c62fc6b1f039a10a43bf3bd3a79694f4d'/>
<id>urn:sha1:095cc16c62fc6b1f039a10a43bf3bd3a79694f4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>WIP (continue in UnMonoid)</title>
<updated>2026-02-12T19:44:47Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-08T14:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=62796be35e6e768147aab70ba0beeb94c058c714'/>
<id>urn:sha1:62796be35e6e768147aab70ba0beeb94c058c714</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Multihot cotangents WIP (doesn't work)</title>
<updated>2026-02-12T19:44:06Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-01-26T22:37:55Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=c2831ef0f8be71f2a72ee4eee446e2ac473fb638'/>
<id>urn:sha1:c2831ef0f8be71f2a72ee4eee446e2ac473fb638</id>
<content type='text'>
The idea is sound but for a smaller source language. Notes also in
Obsidian, but the theory so far is that dropping support for nested
arrays makes this possible, although making the result type-safe (i.e.
not have partial functions in a bunch of places) would require making
the lack of nested array support explicit in the embedded type system,
i.e. have Accelerate-like stratification.

The point is that multihots can be added heterogeneously using
plusSparseS but not homogeneously with EPlus or plusSparse, because the
indices might differ between the summands. Thus as long as we never need
to homogeneously sum multihot cotangents, we're golden.

Now the crucial observation is that we only need plus to be homogeneous
on array elements. So if array elements cannot themselves be arrays,
i.e. we drop support for nested arrays, no homogeneous plus of multihot
array cotangents is needed, and we can have static multihots.
</content>
</entry>
<entry>
<title>UnMonoid: EAccum is an interesting case</title>
<updated>2026-02-12T19:41:39Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-12T19:41:39Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=f5b1b405fa4ba63bdffe0f2998f655f0b06534bf'/>
<id>urn:sha1:f5b1b405fa4ba63bdffe0f2998f655f0b06534bf</id>
<content type='text'>
Just moved the code, nothing else
</content>
</entry>
<entry>
<title>Remove spurious work duplication in unMonoid EAccum</title>
<updated>2026-02-12T19:40:49Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-12T19:40:49Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=5c756bc9eefcd98ed8448f491ddbc3197eaa4127'/>
<id>urn:sha1:5c756bc9eefcd98ed8448f491ddbc3197eaa4127</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use helper methods in UnMonoid(plus)</title>
<updated>2026-02-08T11:28:02Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-08T11:28:02Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=4728c3ac5e577f411b4579ee78648f04f9269a30'/>
<id>urn:sha1:4728c3ac5e577f411b4579ee78648f04f9269a30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove sparsePlus, it's just EPlus on applySparse</title>
<updated>2026-02-08T11:27:50Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-02-08T11:27:50Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=7de36c50001f2be63d8260cd52d0b49872590b9a'/>
<id>urn:sha1:7de36c50001f2be63d8260cd52d0b49872590b9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimise eflatten</title>
<updated>2026-01-26T22:36:56Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2026-01-26T22:36:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=a9e6c72eff3bee8d45e0d906e8cd027066e04793'/>
<id>urn:sha1:a9e6c72eff3bee8d45e0d906e8cd027066e04793</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Import CHAD.Language also qualified as L in Example</title>
<updated>2025-12-10T09:58:46Z</updated>
<author>
<name>Tom Smeding</name>
<email>tom@tomsmeding.com</email>
</author>
<published>2025-12-10T09:58:46Z</published>
<link rel='alternate' type='text/html' href='https://git.tomsmeding.com/chad-fast/commit/?id=06bb9c1a82e6680cffa9f34683c48e0885e495b5'/>
<id>urn:sha1:06bb9c1a82e6680cffa9f34683c48e0885e495b5</id>
<content type='text'>
</content>
</entry>
</feed>
