@@ 4,17 4,23 @@
|0100
+ ( prelude )
;nil JSR2
;z ;cons JSR2
;y ;cons JSR2
;x ;cons JSR2
- ;b ;cons JSR2
+ ( program )
+ ;w ;cons JSR2
+ ;s ;cons JSR2
+ ( eval )
;step JSR2
+ ;step JSR2
+
;echo JSR2
- #0a18 DEO
- #010e DEO
- #010f DEO
+ ( lb ) #0a18 DEO
+ ( debugger ) #010e DEO
+ ( halt ) #010f DEO
BRK
@@ 52,16 58,11 @@ JMP2r
@swap ( list* -- list* )
- LDA2k STH2 ,pop JSR LDA2k STH2 ,pop JSR
- SWP2r
- STH2r ,cons JSR STH2r ,cons JSR
-
-JMP2r
-
-@nest ( list* -- list* )
-
LDA2k STH2 ,pop JSR
- ;nil JSR2 STH2r ,cons JSR ,cons JSR
+ LDA2k STH2 ,pop JSR
+ SWP2r
+ STH2r ,cons JSR
+ STH2r ,cons JSR
JMP2r
@@ 82,7 83,7 @@ JMP2r
JMP2r
@eval ( list* -- )
-
+
DUP2 ;print JSR2 #0a18 DEO
&w
LDA2k INC2 INC2 LDA2 ;nil EQU2 ,&fn JCN
@@ 153,9 154,13 @@ JMP2r
@bluebird ( list* -- list* )
- LDA2k STH2 ;pop JSR2 LDA2k STH2 ;pop JSR2 LDA2k STH2 ;pop JSR2
- ;nil JSR2 ;nil JSR2
- STH2r ;cons JSR2 ;cons JSR2 STH2r ;cons JSR2 ;cons JSR2 STH2r ;cons JSR2
+ LDA2k STH2 ;pop JSR2
+ LDA2k STH2 ;pop JSR2
+ LDA2k STH2 ;pop JSR2
+ ;nil JSR2 ;nil JSR2
+ STH2r ;cons JSR2 ;cons JSR2
+ STH2r ;cons JSR2 ;cons JSR2
+ STH2r ;cons JSR2
JMP2r
@@ 179,13 184,21 @@ JMP2r
@identity ( list* -- list* )
-
+ ( nothing.. )
+
JMP2r
@starling ( list* -- list* )
- ( TODO )
-
+ LDA2k STH2 ;pop JSR2
+ LDA2k STH2 ;pop JSR2
+ LDA2k STH2 ;pop JSR2
+ ;nil JSR2
+ STH2kr ;cons JSR2
+ SWP2r STH2r ;cons JSR2 ;cons JSR2
+ STH2r ;cons JSR2
+ STH2r ;cons JSR2
+
JMP2r
@memory