diff --git a/src/toolsrc/drawl.pla b/src/lisp/drawl.pla similarity index 100% rename from src/toolsrc/drawl.pla rename to src/lisp/drawl.pla diff --git a/src/lisp/set.lisp b/src/lisp/set.lisp new file mode 100644 index 0000000..43f70ec --- /dev/null +++ b/src/lisp/set.lisp @@ -0,0 +1,21 @@ +(define + (member (lambda (a x) + (cond ((null x) f) + ((eq a (car x)) t) + (t (member a (cdr x))) + )) + ) + (union (lambda (x y) + (cond ((null x) y) + ((member (car x) y) (union (cdr x) y)) + (t (cons (car x) (union (cdr x) y))) + )) + ) + (intersection (lambda (x y) + (cond ((null x) nil) + ((member (car x) y) (cons (car x) (intersection + (cdr x) y))) + (t (intersection (cdr x) y)) + )) + ) +) diff --git a/src/makefile b/src/makefile index 7b7fab3..def0b66 100755 --- a/src/makefile +++ b/src/makefile @@ -172,9 +172,9 @@ $(PLFORTH): toolsrc/plforth.pla ./$(PLASM) -AMOW toolsrc/plforth.pla acme --setpc 4094 -o $(PLFORTH) toolsrc/plforth.a -$(DRAWL): toolsrc/drawl.pla - ./$(PLASM) -AMOW toolsrc/drawl.pla - acme --setpc 4094 -o $(DRAWL) toolsrc/drawl.a +$(DRAWL): lisp/drawl.pla + ./$(PLASM) -AMOW lisp/drawl.pla + acme --setpc 4094 -o $(DRAWL) lisp/drawl.a # # PLASMA VMs diff --git a/src/mk140 b/src/mk140 index 9d13e08..158794e 100755 --- a/src/mk140 +++ b/src/mk140 @@ -7,3 +7,4 @@ ./mkbld ./mkinet ./mkdemos +./mklisp diff --git a/src/mklisp b/src/mklisp new file mode 100755 index 0000000..89c7156 --- /dev/null +++ b/src/mklisp @@ -0,0 +1,5 @@ +cp ../sysfiles/BLANK140.po PLASMA-2.1-LISP.po +./ac.jar -n PLASMA-2.1-LISP.po PLASMA.LISP +cat rel/DRAWL#FE1000 | ./ac.jar -p PLASMA-2.1-LISP.po DRAWL REL +cat lisp/drawl.pla | ./ac.jar -ptx PLASMA-2.1-LISP.po DRAWL.PLA TXT +cat lisp/set.lisp | ./ac.jar -ptx PLASMA-2.1-LISP.po SET.LISP TXT diff --git a/src/mkrel b/src/mkrel index 317af57..e4e6e44 100755 --- a/src/mkrel +++ b/src/mkrel @@ -59,7 +59,6 @@ cp rel/HRFORTH#FE1000 prodos/sys/HRFORTH.REL cp rel/HR2FORTH#FE1000 prodos/sys/HR2FORTH.REL cp rel/TX2FORTH#FE1000 prodos/sys/TX2FORTH.REL cp rel/PLFORTH#FE1000 prodos/sys/PLFORTH.REL -cp rel/DRAWL#FE1000 prodos/sys/DRAWL.REL mkdir prodos/sys/scripts cp scripts/plasma.4th prodos/sys/scripts/PLASMA.4TH.TXT @@ -174,6 +173,11 @@ cp scripts/hdinstall.4th prodos/bld/scripts/HDINSTALL.4TH.TXT cp scripts/hdinstall1.4th prodos/bld/scripts/HDINSTALL1.4TH.TXT cp scripts/hdinstall2.4th prodos/bld/scripts/HDINSTALL2.4TH.TXT +mkdir prodos/bld/lisp +cp rel/DRAWL#FE1000 prodos/bld/lisp/DRAWL.REL +cp lisp/drawl.pla prodos/bld/lisp/DRAWL.PLA.TXT +cp lisp/set.lisp prodos/bld/lisp/SET.LISP.TXT + #mkdir prodos/bld/examples #cp samplesrc/examples/ex.1.pla prodos/bld/examples/EX.1.PLA.TXT #cp samplesrc/examples/ex.2.pla prodos/bld/examples/EX.2.PLA.TXT