<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/lisp/Makefile, branch lisp</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=lisp</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=lisp'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2016-11-19T03:04:05+00:00</updated>
<entry>
<title>altos/lisp: Add continuations</title>
<updated>2016-11-19T03:04:05+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-19T03:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=8bf6b8989a4f365467fae38a03570d277f362ac2'/>
<id>urn:sha1:8bf6b8989a4f365467fae38a03570d277f362ac2</id>
<content type='text'>
This provides call/cc and makes 'stacks' visible to the application.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Compile ao_lisp_make_const -no-pie</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-18T00:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=df0128993f72c84d3160a8a7498f23c9a87fe8cc'/>
<id>urn:sha1:df0128993f72c84d3160a8a7498f23c9a87fe8cc</id>
<content type='text'>
Makes debugging easier

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Evaluate macros once, then smash them into place</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-15T17:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=acfc29f2400cc3c06745edb5ec0c82b82998d3cc'/>
<id>urn:sha1:acfc29f2400cc3c06745edb5ec0c82b82998d3cc</id>
<content type='text'>
This assumes that macros are all pure functions, which should be true
for syntactic macros.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Add save/restore infrastructure. Needs OS support to work.</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-12T05:16:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=0fd008d75ca451ba68ad8ae773ea8a5ebc1785c5'/>
<id>urn:sha1:0fd008d75ca451ba68ad8ae773ea8a5ebc1785c5</id>
<content type='text'>
This sticks a few globals past the end of the heap and then asks the
OS to save the heap. On restore, the heap is re-populated by the OS
and then various global variables reset.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: use regular read-eval-print loop for make const</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-11T07:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=dd2382eb2185735822a0036ba0ef436869a71922'/>
<id>urn:sha1:dd2382eb2185735822a0036ba0ef436869a71922</id>
<content type='text'>
No need to open code this sequence of operations.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Clean up OS integration bits, add defun</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-10T00:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=a3535e28a74055c3b303dbb4111cb3d38c2817e2'/>
<id>urn:sha1:a3535e28a74055c3b303dbb4111cb3d38c2817e2</id>
<content type='text'>
Provide an abstraction for the OS interface so that it
can build more cleanly on Linux and AltOS. Add defun macro.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: working on lexical scoping</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-09T17:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=71796f4407ebf11251c150dfa368f571ba12db8d'/>
<id>urn:sha1:71796f4407ebf11251c150dfa368f571ba12db8d</id>
<content type='text'>
Not working yet

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add lambda support to lisp</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-04T04:49:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=9fe33ce12f30da223e3ef83dfe12afaa751d509d'/>
<id>urn:sha1:9fe33ce12f30da223e3ef83dfe12afaa751d509d</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Separate out values from atoms</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-03T05:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=71bf5774083e7f0d87ea609a73d6cfb7f60de9d9'/>
<id>urn:sha1:71bf5774083e7f0d87ea609a73d6cfb7f60de9d9</id>
<content type='text'>
This enables changing values of atoms declared as constants, should
enable lets, and with some work, even lexical scoping.

this required changing the constant computation to run
ao_lisp_collect() before dumping the block of constant data, and that
uncovered some minor memory manager bugs.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Change lisp objects to use ao_poly everywhere. Add const</title>
<updated>2016-11-18T06:18:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-02T04:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=338723847e66f7c34a6b5e54d094ed52dc5665c3'/>
<id>urn:sha1:338723847e66f7c34a6b5e54d094ed52dc5665c3</id>
<content type='text'>
This makes all lisp objects use 16-bit ints for references so we can
hold more stuff in small amounts of memory. Also adds a separate
constant pool of lisp objects for builtins, initial atoms and constant
lisp code.

Now builds (and runs!) on the nucleo-32 boards.

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