<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slset, branch 0.1</title>
<subtitle>Lists of symbols as sets
</subtitle>
<id>https://code.more-magic.net/slset/atom?h=0.1</id>
<link rel='self' href='https://code.more-magic.net/slset/atom?h=0.1'/>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/'/>
<updated>2025-08-19T08:20:48Z</updated>
<entry>
<title>Add type annotations to ensure inlining of put! and get in C5</title>
<updated>2025-08-19T08:20:48Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-19T08:20:48Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=8209645f45df43cb305691cae1b8653ab1c0efc5'/>
<id>urn:sha1:8209645f45df43cb305691cae1b8653ab1c0efc5</id>
<content type='text'>
Without these, we are doomed to have CPS calls to those procedures.
</content>
</entry>
<entry>
<title>Use singular "slset" instead of plural "slsets"</title>
<updated>2025-08-19T08:17:33Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-19T08:17:33Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=1007f7aef69d3fe28942ad74cc002b49bd1eefaa'/>
<id>urn:sha1:1007f7aef69d3fe28942ad74cc002b49bd1eefaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow with-reified-slset to return values as well</title>
<updated>2025-08-18T12:29:48Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-18T12:29:48Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=66eb53e611256a163a0ff4623b889a8382948305'/>
<id>urn:sha1:66eb53e611256a163a0ff4623b889a8382948305</id>
<content type='text'>
Otherwise, it'll be a bit awkward if we do have something more useful
to return.  And we wouldn't be able to get at the slset's list so
easily.
</content>
</entry>
<entry>
<title>Minor change in benchmark</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-15T11:34:27Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=a64d4e18ade6e0eca23806524f863852594f229d'/>
<id>urn:sha1:a64d4e18ade6e0eca23806524f863852594f229d</id>
<content type='text'>
Do not count list construction towards benchmark time.

This doesn't appear to make a big difference but it's good to pull
that out of the calculation.
</content>
</entry>
<entry>
<title>Allow reification of slsets to get fast adjoin and membership testing</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-15T11:26:36Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=7fd4fc4bc759564db7714748646d5dc74f9e7a11'/>
<id>urn:sha1:7fd4fc4bc759564db7714748646d5dc74f9e7a11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add slset-delete and slset-contains?</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-15T09:27:11Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=d3a425a4930fa4395246179ad0af504c783922fd'/>
<id>urn:sha1:d3a425a4930fa4395246179ad0af504c783922fd</id>
<content type='text'>
Not strictly needed, but could be helpful and completes the
operations.  Also, if we ever reimplement it using some other
strategy, this might be more useful.
</content>
</entry>
<entry>
<title>Change Scheme benchmark to allow graphing by measuring time and looping</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-15T07:22:08Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=fa8d354bc49b0adc77e6dd6d973c8bd2d33f2769'/>
<id>urn:sha1:fa8d354bc49b0adc77e6dd6d973c8bd2d33f2769</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make sure lset-adjoin removes markings on the adjoined elements</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-06T12:20:38Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=a34b5dacb2b96ef0f534bef3ec130839544ab0c8'/>
<id>urn:sha1:a34b5dacb2b96ef0f534bef3ec130839544ab0c8</id>
<content type='text'>
Add a test to ensure this won't happen again.
</content>
</entry>
<entry>
<title>Actually use both different sets</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-05T09:01:40Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=098c6ba98e7cca7b0810d9283e2afd4a9ac5519b'/>
<id>urn:sha1:098c6ba98e7cca7b0810d9283e2afd4a9ac5519b</id>
<content type='text'>
The original implementation just diffed the same set with itself,
and needed a workaround for srfi-1's shortcut on the identical list.

Since we're comparing to other implementations with differing sets, it
makes sense to do the same here.

We actually started doing this but ended up just redefining the same
list...
</content>
</entry>
<entry>
<title>Add benchmarks for Ruby, Python and Clojure</title>
<updated>2025-08-18T11:39:32Z</updated>
<author>
<name>Peter Bex</name>
<email>peter@more-magic.net</email>
</author>
<published>2025-08-05T08:37:58Z</published>
<link rel='alternate' type='text/html' href='https://code.more-magic.net/slset/commit/?id=12a4f8e2415a767c501898d3626663f78fb3c33d'/>
<id>urn:sha1:12a4f8e2415a767c501898d3626663f78fb3c33d</id>
<content type='text'>
Ruby is about the same speed as slets.  Clojure (babashka) and Python
are goddamn fast.  Python is 10 times as fast.  Clojure is twice as
slow as Python but that still outperforms Ruby and slsets.
</content>
</entry>
</feed>
