Compare commits

..

No commits in common. "30bdd44ba51caaaf3423aed9e75e21cb095d0cb0" and "28abc474b052f4e9369bc8bcc77eef60d0d1ce23" have entirely different histories.

6 changed files with 8 additions and 32 deletions

View file

@ -1,10 +0,0 @@
(eq 1 1) ; True
(eq 1 2) ; False
(define a (λ () (+ 1 2 3)))
(define b (lambda () (+ 1 2 3)))
(eq a b) ; True
(eq () nil) ; True
(eq () (eval ())) ; True

View file

@ -1,3 +1,3 @@
(define a 10)
(define b 20)
(define c (lambda () (+ a b)))
(define c (+ a b))

View file

@ -1,3 +0,0 @@
(eval
(quote
(+ 1 2)))

View file

@ -1,7 +1,2 @@
(define a
(λ ()
(+ 1 2 3)))
(define b
(lambda ()
(+ 1 2 3)))
(define a (λ () (+ 1 2 3)))
(a)

View file

@ -1,9 +0,0 @@
(define repl
(lambda () (
(print "λ -> ")
(print
(eval
(read)))
(print "\n")
(repl))))
(repl)

7
lasp.S
View file

@ -5,7 +5,7 @@ li64 r13, 0
;; r253 will be the offset from the stack pointer specified by the spec to be r254
li64 r253, 0
; Load first char
ldr r12, r13, lisp, 1
loop:
@ -27,7 +27,6 @@ loop:
; push the char onto the stack
jmp push_u64_stack
; loop :skull:
jmp loop
tx
@ -64,6 +63,10 @@ closed_paren:
jmp log_lisp_error
eval_stack:
jmp pop_u64_stack
jmp panic
panic:
jmp log_lisp_error
lisp: