<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/lisp/ao_lisp_make_builtin, branch tmgps</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=tmgps</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=tmgps'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2017-12-05T18:30:32+00:00</updated>
<entry>
<title>altos/scheme: Rename to 'scheme', clean up build</title>
<updated>2017-12-05T18:30:32+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-05T18:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=195cbeec19a6a44f309a9040d727d37fe4e2ec97'/>
<id>urn:sha1:195cbeec19a6a44f309a9040d727d37fe4e2ec97</id>
<content type='text'>
Constant block is now built in a subdir to avoid messing up source
directory.

Renamed to ao_scheme to reflect language target.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Switch to scheme formal syntax for varargs</title>
<updated>2017-12-04T03:54:18+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-04T03:54:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=9dbc686ad7d3289dc0f9bcf4a973f71100e02ded'/>
<id>urn:sha1:9dbc686ad7d3289dc0f9bcf4a973f71100e02ded</id>
<content type='text'>
Scheme uses bare symbols to indicate a varargs parameter; any bare
(i.e., not wrapped in a cons cell) parameter will get the 'rest' of
the parameter list. This works for lambdas, nlambdas and macros. As a
result, the 'lexpr' form has been removed as it is equivalent to a
lambda with a varargs formal.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Add quasiquote</title>
<updated>2017-12-01T10:30:50+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-01T09:12:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=cd0bd9791a77868c226d285bf4d57e8c321755d5'/>
<id>urn:sha1:cd0bd9791a77868c226d285bf4d57e8c321755d5</id>
<content type='text'>
This adds read support for quasiquote syntax, and then adds a
quasiquote implementation in lisp

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Finish first pass through r7rs</title>
<updated>2017-11-18T07:26:59+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-11-18T07:23:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=cf5729a0bae51172f12fc9ec4339d4e975a45fcc'/>
<id>urn:sha1:cf5729a0bae51172f12fc9ec4339d4e975a45fcc</id>
<content type='text'>
* print -&gt; write, patom -&gt; display
* Add read-char, write-char
* Add exit, current-jiffy, current-second, jiffies-per-second
* Add for-each and string-for-each
* Avoid duplicate builtins with different atoms

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Add apply</title>
<updated>2017-11-18T06:14:19+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-11-18T06:14:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e1acf5eb12aceda7aa838df031c1da1129d0fa5d'/>
<id>urn:sha1:e1acf5eb12aceda7aa838df031c1da1129d0fa5d</id>
<content type='text'>
And all of the library routines that use it, map, string-map and friends.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Generate built-in lambda atoms for const creation</title>
<updated>2017-11-17T16:04:28+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-11-17T16:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=5b6f4b5de89a2bb0d63442e2651cf8d2ee0f4b10'/>
<id>urn:sha1:5b6f4b5de89a2bb0d63442e2651cf8d2ee0f4b10</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: More schemisms</title>
<updated>2017-11-17T02:46:03+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-11-17T02:46:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=2e58b6c380bc6440490c47650fbf11d45b3f2e72'/>
<id>urn:sha1:2e58b6c380bc6440490c47650fbf11d45b3f2e72</id>
<content type='text'>
Add 'if'.
setq -&gt; set!, but doesn't define new variables
def -&gt; define
Add pair? and list?
Add eq? and eqv? as aliases for =

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Add scheme-style bools (#t and #f)</title>
<updated>2017-11-17T02:40:31+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-11-17T01:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b3b4731fcb89cb404433f37a7704a503567c43bd'/>
<id>urn:sha1:b3b4731fcb89cb404433f37a7704a503567c43bd</id>
<content type='text'>
Cond and while compare against #f, just like scheme says to.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
