<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chromatopelma/csc/macros-test.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/macros-test.csc?h=main</id>
<link rel='self' href='https://code.roseh.moe/chromatopelma/atom/csc/macros-test.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>Add call-builtin syntax.</title>
<updated>2022-07-30T20:31:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-30T20:31:05Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=6ffa3538cfeb5a97e967544bfbbcf907f4aa565f'/>
<id>urn:sha1:6ffa3538cfeb5a97e967544bfbbcf907f4aa565f</id>
<content type='text'>
This syntax allows calling opcodes directly from scheme code.
Very powerful technique.
</content>
</entry>
<entry>
<title>Use a better interface for macros.</title>
<updated>2022-07-28T22:42:06Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-28T22:42:06Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=15cf44f544bfbc9067df487ae39107fe067496da'/>
<id>urn:sha1:15cf44f544bfbc9067df487ae39107fe067496da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a potential R7RS issue.</title>
<updated>2022-07-27T02:24:10Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-27T02:24:10Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=becfaeb778a3c8ba241e2155b998d6b27dcfad0c'/>
<id>urn:sha1:becfaeb778a3c8ba241e2155b998d6b27dcfad0c</id>
<content type='text'>
I was using the load procedure to load a program, but by a strict
reading of R7RS, load can only handle expressions and definitions, not
imports. So instead I'm defining each test as a library, and using the
environment procedure to load them at runtime.
</content>
</entry>
<entry>
<title>Write a test for codegen.</title>
<updated>2022-07-25T03:29:19Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-25T03:29:19Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=ac23fca796d6dc6fc7aab0ac5bdf8987aa490761'/>
<id>urn:sha1:ac23fca796d6dc6fc7aab0ac5bdf8987aa490761</id>
<content type='text'>
I'm not sure yet how to test regalloc.
</content>
</entry>
<entry>
<title>Add a diff library.</title>
<updated>2022-07-03T21:37:10Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-07-03T21:37:10Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=bcb098e8eb18637b6999789585a38ff9168de9d5'/>
<id>urn:sha1:bcb098e8eb18637b6999789585a38ff9168de9d5</id>
<content type='text'>
I was hesitant to add a diff library, but it was surprisingly easy. A
straightforward application of dynamic programming.
</content>
</entry>
<entry>
<title>Improve CPS.</title>
<updated>2022-06-28T22:58:36Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-06-28T22:58:36Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=fed28363fb60266c030a0f6b30d5a9d697774ee0'/>
<id>urn:sha1:fed28363fb60266c030a0f6b30d5a9d697774ee0</id>
<content type='text'>
Goodbye soup. Thanks to "Compiling with Continuations" by Appel.
</content>
</entry>
<entry>
<title>Continue work on continuation passing style.</title>
<updated>2022-06-25T23:14:47Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-06-25T23:14:47Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=7004f8d7a381fcd2f9c63ae04d99dc67161158f4'/>
<id>urn:sha1:7004f8d7a381fcd2f9c63ae04d99dc67161158f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove the void type.</title>
<updated>2022-04-23T02:12:21Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-04-23T02:12:21Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=dfed0dd11c8a7efb222424002613eb168e02136e'/>
<id>urn:sha1:dfed0dd11c8a7efb222424002613eb168e02136e</id>
<content type='text'>
Why have void? We will just use #f.
</content>
</entry>
<entry>
<title>Add libraries.</title>
<updated>2022-04-08T02:32:07Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-04-08T02:32:07Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=b94b0450645a3739c26e5bc99bfeba3304eb95c4'/>
<id>urn:sha1:b94b0450645a3739c26e5bc99bfeba3304eb95c4</id>
<content type='text'>
Gone is toplevel. Now everyone lives in a library.
</content>
</entry>
</feed>
