Skip to content

Commit c0961b3

Browse files
committed
Fixing up interp-prim.
1 parent 7aa2ca4 commit c0961b3

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

www/notes/iniquity/compile.rkt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
;; Compile e as the entry point
4747
(define (compile-entry e)
4848
`(entry
49-
,@(compile-entry e '())
49+
,@(compile-e e '())
5050
ret
5151

5252
err

www/notes/iniquity/interp.rkt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,19 +80,19 @@
8080

8181
;; Prim (Listof Value) -> Answer
8282
(define (interp-prim p vs)
83-
(match* (p vs)
84-
[('add1 (? integer? i0)) (add1 i0)]
85-
[('sub1 (? integer? i0)) (sub1 i0)]
86-
[('zero? (? integer? i0)) (zero? i0)]
87-
[('box v0) (box v0)]
88-
[('unbox (? box? v0)) (unbox v0)]
89-
[('empty? v0) (empty? v0)]
90-
[('cons v0 v1) (cons v0 v1)]
91-
[('car (cons v0 v1)) v0]
92-
[('cdr (cons v0 v1)) v1]
93-
[('+ (? integer? i0) (? integer? i1))
83+
(match (cons p vs)
84+
[(list 'add1 (? integer? i0)) (add1 i0)]
85+
[(list 'sub1 (? integer? i0)) (sub1 i0)]
86+
[(list 'zero? (? integer? i0)) (zero? i0)]
87+
[(list 'box v0) (box v0)]
88+
[(list 'unbox (? box? v0)) (unbox v0)]
89+
[(list 'empty? v0) (empty? v0)]
90+
[(list 'cons v0 v1) (cons v0 v1)]
91+
[(list 'car (cons v0 v1)) v0]
92+
[(list 'cdr (cons v0 v1)) v1]
93+
[(list '+ (? integer? i0) (? integer? i1))
9494
(+ i0 i1)]
95-
[('- (? integer? i0) (? integer? i1))
95+
[(list '- (? integer? i0) (? integer? i1))
9696
(- i0 i1)]
9797
[_ 'err]))
9898

0 commit comments

Comments
 (0)