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 a 10)
(define b 20) (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 (define a (λ () (+ 1 2 3)))
(λ () (a)
(+ 1 2 3)))
(define b
(lambda ()
(+ 1 2 3)))

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