<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/lisp, branch debian/1.9-1</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.9-1</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.9-1'/>
<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: Fix stash usage across frame allocation</title>
<updated>2017-12-04T03:52:11+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-04T03:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=a1d013ab8cc508d4e17ae8876bc5465d1a2dfc1e'/>
<id>urn:sha1:a1d013ab8cc508d4e17ae8876bc5465d1a2dfc1e</id>
<content type='text'>
Must un-stash before allocation failure check.
Use frame_stash instead of poly_stash for frames.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Check only cdr base type when moving cons cells</title>
<updated>2017-12-04T03:49:20+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-04T03:49:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=32ab76c3049b913283caafbaef873754d76dc9d4'/>
<id>urn:sha1:32ab76c3049b913283caafbaef873754d76dc9d4</id>
<content type='text'>
The cdr may have moved, so we can't look at the target object
type. Fortunately, the base type encoded in the reference itself is
sufficient to check for a non-cons cdr.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Split out read debug, add memory validation</title>
<updated>2017-12-04T03:47:03+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-04T03:47:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=ed6967cef5d82baacafe1c23229f44d58c838326'/>
<id>urn:sha1:ed6967cef5d82baacafe1c23229f44d58c838326</id>
<content type='text'>
Split read debug into a separate #define to reduce debug noise
Add some memory validation -- validate stash API, and validate
cons_free calls.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: use strtof instead of atof</title>
<updated>2017-12-03T05:21:55+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-03T05:21:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b9009b3916956db00b7b78bd06fb0df704690eb1'/>
<id>urn:sha1:b9009b3916956db00b7b78bd06fb0df704690eb1</id>
<content type='text'>
atof returns double, strtof returns float.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Convert more builtin lisp code to scheme format</title>
<updated>2017-12-03T05:21:01+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-03T05:21:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=880c35363a2596202c8a3d980bf4ac41eceead66'/>
<id>urn:sha1:880c35363a2596202c8a3d980bf4ac41eceead66</id>
<content type='text'>
Use defines where possible, use (define (name args ...)) form for lambdas

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Overflow int computations to float</title>
<updated>2017-12-03T05:19:44+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-03T05:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=577911241db454bc3129fc47566c6a55752c4182'/>
<id>urn:sha1:577911241db454bc3129fc47566c6a55752c4182</id>
<content type='text'>
When an int computation overflows, switch to float.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: split set/def. Add def support to lambdas</title>
<updated>2017-12-01T21:40:23+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-01T21:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=c31744299e5a4342bbe26d3735ee2d8f09192ae9'/>
<id>urn:sha1:c31744299e5a4342bbe26d3735ee2d8f09192ae9</id>
<content type='text'>
In scheme, set can only re-define existing variables while def cannot
redefine existing variables in lambda context. Def within lambda
creates a new variable at the nearest enclosing scope.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Split out frame vals from frame struct</title>
<updated>2017-12-01T17:28:16+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-12-01T17:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=98923ae1189f062b8b94120d47a56892db25493f'/>
<id>urn:sha1:98923ae1189f062b8b94120d47a56892db25493f</id>
<content type='text'>
This lets the frame be resized without moving the base structure. The
plan is to allow all frames to be resized, not just the global frame.

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