<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chromatopelma/lib/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/lib/csc/macros-test.csc?h=main</id>
<link rel='self' href='https://code.roseh.moe/chromatopelma/atom/lib/csc/macros-test.csc?h=main'/>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/'/>
<updated>2023-05-01T14:56:42Z</updated>
<entry>
<title>Rewrite most of the compiler.</title>
<updated>2023-05-01T14:56:42Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2023-05-01T14:56:42Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=a89d6c82e981fec7d6e4c975e083d2b9e04467ad'/>
<id>urn:sha1:a89d6c82e981fec7d6e4c975e083d2b9e04467ad</id>
<content type='text'>
This represents a major step back in terms of functionality, and amount
of code. The latter I think constitutes a major win. Next steps are to
reimplement syntax-rules, call/cc, and call-with-values.
</content>
</entry>
<entry>
<title>Fix bugs with recursive macros and empty template.</title>
<updated>2022-09-03T03:05:40Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-09-03T03:05:40Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=112ce5291da35e54c38c4ff1d7a2408a64a98e71'/>
<id>urn:sha1:112ce5291da35e54c38c4ff1d7a2408a64a98e71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Undo the hacky list constant changes.</title>
<updated>2022-09-03T00:07:29Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-09-03T00:07:29Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=19ff46c53e800132f8d800b909b10f28f53b13e9'/>
<id>urn:sha1:19ff46c53e800132f8d800b909b10f28f53b13e9</id>
<content type='text'>
We will eventually implement list constants using some kind of rodata.
</content>
</entry>
<entry>
<title>Fix some bugs in macros, and add list constants.</title>
<updated>2022-09-01T21:45:28Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-09-01T21:45:28Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=49138077de7c97913c7bcb16099738f6183b39bd'/>
<id>urn:sha1:49138077de7c97913c7bcb16099738f6183b39bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement multiple return values.</title>
<updated>2022-08-28T02:30:16Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-08-28T02:30:16Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=59ca512ec8f099a7d4c8aa4392f939d1aa5aee5d'/>
<id>urn:sha1:59ca512ec8f099a7d4c8aa4392f939d1aa5aee5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change argument passing to use lists.</title>
<updated>2022-08-24T02:24:26Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-08-24T02:24:26Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=55a9ceb549911e598be213bdb755272e0f9c4a5c'/>
<id>urn:sha1:55a9ceb549911e598be213bdb755272e0f9c4a5c</id>
<content type='text'>
Using vectors is just horribly complicated combined with builtins like
apply, or procedures that take a rest parameter. Now we pass all
arguments in a list. Hopefully optimization can undo this for known
functions in the future.
</content>
</entry>
<entry>
<title>Fix bugs in the macro expander.</title>
<updated>2022-08-12T23:59:42Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-08-12T23:59:42Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=d4bd262329827738d08a431f9556fbe6fa8d5a80'/>
<id>urn:sha1:d4bd262329827738d08a431f9556fbe6fa8d5a80</id>
<content type='text'>
Now I'm following the rule that you should ignore marks that were added
after the binding was defined. I also introduced a lexical environment
to handle lambdas.
</content>
</entry>
<entry>
<title>Add if and set!.</title>
<updated>2022-08-05T04:45:54Z</updated>
<author>
<name>Rose Hogenson</name>
<email>rhogenson@posteo.net</email>
</author>
<published>2022-08-05T04:45:54Z</published>
<link rel='alternate' type='text/html' href='https://code.roseh.moe/chromatopelma/commit/?id=de9353e9c24c448aaa11e24f2ccfb1820acb3d34'/>
<id>urn:sha1:de9353e9c24c448aaa11e24f2ccfb1820acb3d34</id>
<content type='text'>
</content>
</entry>
<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>
</feed>
