ref: 7e0665beb50190f4b2c09a9a91fcfbf93ce12668
parent: 95a3f48ca4df8ee6ecd2cdd7b393f83f94f5c69f
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Sun Mar 26 18:55:22 EDT 2023
move characteristics list to the readme
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# femtolisp
+A compact interpreter for a minimal lisp/scheme dialect.
+
This is a reanimation of
https://github.com/lambdaconservatory/femtolisp with bigger plans.
@@ -9,7 +11,7 @@
Tested on: 9front-latest/arm64, OpenBSD-current/amd64, Linux-old-af/ppc.
-Some of the changes include:
+Some of the changes from the original include:
* aggressive clean up and removal (like Windows and Mac OS X support)
* `[` and `]` are synonyms to `(` and `)`
@@ -17,3 +19,22 @@
* "boot" image is built into the executable
* vm opcode definitions and tables are generated from a single file
* fixed bootstrap (makes it work properly when opcodes change)
+
+## Characteristics
+
+ * lexical scope, lisp-1
+ * unrestricted macros
+ * case-sensitive
+ * simple compacting copying garbage collector
+ * Scheme-style varargs (dotted formal argument lists)
+ * "human-readable" bytecode with self-hosted compiler
+ * circular structure can be printed and read
+ * `#.` read macro for eval-when-read and readably printing builtins
+ * read macros for backquote
+ * symbol character-escaping printer
+ * exceptions
+ * gensyms (can be usefully read back in, too)
+ * `#| multiline comments |#`, `#;(block comment...`, lots of other lexical syntax
+ * generic compare function, cyclic equal
+ * cvalues system providing C data types and a C FFI
+ * constructor notation for nicely printing arbitrary values
--- a/flisp.c
+++ b/flisp.c
@@ -1,30 +1,6 @@
/*
femtoLisp
- a compact interpreter for a minimal lisp/scheme dialect
-
- characteristics:
- * lexical scope, lisp-1
- * unrestricted macros
- * data types: 30-bit integer, symbol, pair, vector, char, string, table
- iostream, procedure, low-level data types
- * case-sensitive
- * simple compacting copying garbage collector
- * Scheme-style varargs (dotted formal argument lists)
- * "human-readable" bytecode with self-hosted compiler
-
- extra features:
- * circular structure can be printed and read
- * #. read macro for eval-when-read and readably printing builtins
- * read macros for backquote
- * symbol character-escaping printer
- * exceptions
- * gensyms (can be usefully read back in, too)
- * #| multiline comments |#, lots of other lexical syntax
- * generic compare function, cyclic equal
- * cvalues system providing C data types and a C FFI
- * constructor notation for nicely printing arbitrary values
-
by Jeff Bezanson (C) 2009
Distributed under the BSD License
*/