shithub: femtolisp

Download patch

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
 */