mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-03 19:31:10 +00:00
Update documentation
This commit is contained in:
parent
daed69e113
commit
bbfa59ccc7
22
doc/DRAWL.md
22
doc/DRAWL.md
@ -4,6 +4,7 @@ LISP interpreted on a bytecode VM running on a 1 MHz 6502 is going to be sssllll
|
|||||||
|
|
||||||
## Missing features of LISP 1.5 in DRAWL
|
## Missing features of LISP 1.5 in DRAWL
|
||||||
|
|
||||||
|
- Minimal I/O facilities
|
||||||
- General recursion. The 6502 architecture limits recursion (but see tail recursion below), so don't expect too much here
|
- General recursion. The 6502 architecture limits recursion (but see tail recursion below), so don't expect too much here
|
||||||
- Many of the built-in functions from the LISP 1.5 manual. Most can be coded in LISP and loaded at startup
|
- Many of the built-in functions from the LISP 1.5 manual. Most can be coded in LISP and loaded at startup
|
||||||
|
|
||||||
@ -15,17 +16,19 @@ However, the code is partitioned to allow for easy extension so some of these mi
|
|||||||
- Tail recursion handles deep recursion. Check out [loop.lisp](https://github.com/dschmenk/PLASMA/blob/master/src/lisp/loop.lisp)
|
- Tail recursion handles deep recursion. Check out [loop.lisp](https://github.com/dschmenk/PLASMA/blob/master/src/lisp/loop.lisp)
|
||||||
- Fully garbage collected behind the scenes
|
- Fully garbage collected behind the scenes
|
||||||
- Optionally read LISP source file at startup
|
- Optionally read LISP source file at startup
|
||||||
- The PROG feature now present!
|
|
||||||
- Arrays of up to four dimensions
|
- Arrays of up to four dimensions
|
||||||
- FUNCTION operation with bound variables
|
|
||||||
- Additional testing/looping construct: IF, FOR, WHILE, UNTIL
|
|
||||||
- Bit-wise logic operations on 32 bit integers
|
- Bit-wise logic operations on 32 bit integers
|
||||||
|
- FUNCTION operation with bound variables
|
||||||
|
- The PROG Alogol-like programming construct
|
||||||
|
- Additional testing/looping constructs: IF and FOR
|
||||||
- Hexadecimal input/output
|
- Hexadecimal input/output
|
||||||
- LoRes Apple II graphics
|
- LoRes Apple II graphics
|
||||||
|
- Ctrl-C break into running program
|
||||||
|
|
||||||
The DRAWL implementation comes with the following built-in functions:
|
The DRAWL implementation comes with the following built-in functions:
|
||||||
|
|
||||||
### Constants
|
### Constants
|
||||||
|
|
||||||
- T = True
|
- T = True
|
||||||
- F = False
|
- F = False
|
||||||
- NIL = NULL
|
- NIL = NULL
|
||||||
@ -72,7 +75,7 @@ The DRAWL implementation comes with the following built-in functions:
|
|||||||
### Conditionals
|
### Conditionals
|
||||||
|
|
||||||
- COND(...)
|
- COND(...)
|
||||||
- IF()
|
- IF() = IF THEN w/ optional ELSE
|
||||||
|
|
||||||
### Output
|
### Output
|
||||||
|
|
||||||
@ -95,7 +98,9 @@ The DRAWL implementation comes with the following built-in functions:
|
|||||||
|
|
||||||
### Program feature
|
### Program feature
|
||||||
|
|
||||||
- PROG() = Algol like programming in LISP
|
- PROG(...) = Algol like programming in LISP
|
||||||
|
- COND(...) = Fall-through COND()
|
||||||
|
- IF() = Fall-through IF THEN w/ optional ELSE
|
||||||
- GO() = Goto label inside PROG
|
- GO() = Goto label inside PROG
|
||||||
- RETURN() = Return from PROG with value
|
- RETURN() = Return from PROG with value
|
||||||
|
|
||||||
@ -126,8 +131,8 @@ The DRAWL implementation comes with the following built-in functions:
|
|||||||
|
|
||||||
### Floating Point (from the SANE library)
|
### Floating Point (from the SANE library)
|
||||||
|
|
||||||
- PI()
|
- PI() = Constant value of pi
|
||||||
- MATH_E()
|
- MATH_E() = Constant value of e
|
||||||
- LOGB()
|
- LOGB()
|
||||||
- SCALEB_I()
|
- SCALEB_I()
|
||||||
- TRUNCATE()
|
- TRUNCATE()
|
||||||
@ -145,9 +150,8 @@ The DRAWL implementation comes with the following built-in functions:
|
|||||||
- POW2_1()
|
- POW2_1()
|
||||||
- POWE()
|
- POWE()
|
||||||
- POWE_1()
|
- POWE_1()
|
||||||
- POWE2_1()
|
|
||||||
- POW_I()
|
- POW_I()
|
||||||
- POWY()
|
- POW()
|
||||||
- COMP()
|
- COMP()
|
||||||
- ANNUITY()
|
- ANNUITY()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user