<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chromatopelma/csc/hash-map.csc, branch main</title>
<subtitle>Partial r7rs implementation with a focus on ease of implementation and a reusable library. Work in progress.</subtitle>
<id>https://code.roseh.moe/chromatopelma/atom/csc/hash-map.csc?h=main</id>
<link rel='self' href='https://code.roseh.moe/chromatopelma/atom/csc/hash-map.csc?h=main'/>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/'/>
<updated>2022-08-02T02:35:19Z</updated>
<entry>
<title>Modify the project structure.</title>
<updated>2022-08-02T02:35:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-08-02T02:35:19Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=acc561366f3fe6ec0377103f52ef0f7e923711c9'/>
<id>urn:sha1:acc561366f3fe6ec0377103f52ef0f7e923711c9</id>
<content type='text'>
Now the lib directory contains what will eventually end up on the
user's /usr/lib/csc. When I write make install, it will copy all of
the .csc files from lib into the destination lib directory. This means I
can start working on the standard library in lib/scheme.
</content>
</entry>
<entry>
<title>Slightly improve the hash function.</title>
<updated>2022-07-27T04:00:43Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-27T04:00:43Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=5994a8fec4525010a9a4d97c806070c0be4c99d6'/>
<id>urn:sha1:5994a8fec4525010a9a4d97c806070c0be4c99d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Export some common comparers from hash-map.</title>
<updated>2022-07-24T23:20:00Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-24T23:20:00Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=c04e3c7cd6726a95da3d58979f582afb7a5b722f'/>
<id>urn:sha1:c04e3c7cd6726a95da3d58979f582afb7a5b722f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a delete method to the red-black tree.</title>
<updated>2022-07-23T18:06:55Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-23T18:06:55Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=56df584eed3a7228ca06a9ed1e49272410a7e671'/>
<id>urn:sha1:56df584eed3a7228ca06a9ed1e49272410a7e671</id>
<content type='text'>
God damn delete is even more complicated than insert. I think it works,
at least.
</content>
</entry>
<entry>
<title>Slightly clean up the indentation in hash-map.</title>
<updated>2022-07-22T19:02:01Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-22T19:02:01Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=7c46c091746544a0069dc3d1bde969a79a7c2409'/>
<id>urn:sha1:7c46c091746544a0069dc3d1bde969a79a7c2409</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Write closure conversion.</title>
<updated>2022-07-03T06:04:28Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-03T06:04:28Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=37e086d27d478246e72b8f5c1b75ed5d092495fa'/>
<id>urn:sha1:37e086d27d478246e72b8f5c1b75ed5d092495fa</id>
<content type='text'>
I desperately need a diffing library.
</content>
</entry>
<entry>
<title>Finish the macro expander.</title>
<updated>2022-01-16T06:40:01Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-01-16T06:40:01Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=0d7cb228076354f893527bce2d426e21697832a9'/>
<id>urn:sha1:0d7cb228076354f893527bce2d426e21697832a9</id>
<content type='text'>
It works!! At least it passes all the test cases.

Next I will:
1. finish the builtins,
2. add a conversion to IR2 in continuation passing style,
3. add a compiler from IR2 to bytecode,
4. and add an option to the frontend compiler to generate a
   standalone executable.
</content>
</entry>
<entry>
<title>Write a first draft macro expander.</title>
<updated>2022-01-15T05:06:26Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-01-15T05:06:26Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=a968e8595b999d5c0a43c59de69bcb4f34e205c1'/>
<id>urn:sha1:a968e8595b999d5c0a43c59de69bcb4f34e205c1</id>
<content type='text'>
Committing it because it compiles. I have to write tests and debug
it still.
</content>
</entry>
<entry>
<title>Generalize the hash map.</title>
<updated>2022-01-13T23:47:30Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-01-13T23:47:30Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=d65318dd916a3529f009e8c431b8da2df6446c0e'/>
<id>urn:sha1:d65318dd916a3529f009e8c431b8da2df6446c0e</id>
<content type='text'>
Before we were assuming keys could be compared with eqv?. But it seems
like that assumption isn't true when we want to hold identifiers in the
hash map.
</content>
</entry>
<entry>
<title>Move scheme compiler into a separate directory.</title>
<updated>2022-01-12T06:01:23Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-01-12T06:01:23Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=68986fe0410584c6934c835bb0ee784655f5f8c5'/>
<id>urn:sha1:68986fe0410584c6934c835bb0ee784655f5f8c5</id>
<content type='text'>
</content>
</entry>
</feed>
