aa
Scheme dialect for 9front, the only Plan 9 operating system that is actually worth doing anything with.
This was originally a port of fe, but is now moving in its own direction (R7RS).
What's up with the name?
- My name is Parentheses, for we are many. AAAaaaaaAAaaaaa.
Notes
- all numbers are of
doubletype - C null-terminated string, so no binaries supported
- characters escaping isn't there
- no idea wth
letis doing currently
Implemented and somewhat tested
#f
#false
#t
#true
and
begin
car
cdr
cons
define
display
eval
if
lambda
list
max
min
newline
not
or
quote
set!
square
while
atom?
boolean?
defined?
eq?
equal?
finite?
infinite?
nan?
null?
number?
string?
= < > <= >= + - * /
Things that need work/testing or not implemented at all
let
mac
setcar
setcdr
Math (optional, see aa_math.*)
abs
acos
asin
atan
ceiling
cos
cosh
exp
expt
floor
log
log10
sin
sinh
sqrt
tan
tanh
truncate
TODO
- read through R7RS and try not to have too big of a "religious experience"
- ports
- better exception and error handling in general
- tail call optimization
- bytecode vm?
- stop making stupid dad jokes