Skip to content

Commit 10d9c9c

Browse files
authored
Merge pull request #58 from cmsc430/main-crook
crook
2 parents 1b37bf9 + d6310bd commit 10d9c9c

4 files changed

Lines changed: 12 additions & 24 deletions

File tree

iniquity/interp.rkt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,13 @@
6666
(interp-e e (zip xs vs) ds)
6767
(raise 'err))]))]))
6868

69-
;; (Listof Expr) REnv Defns -> (Listof Value) | 'err
69+
;; (Listof Expr) REnv Defns -> (Listof Value) { raises 'err }
7070
(define (interp-e* es r ds)
7171
(match es
7272
['() '()]
7373
[(cons e es)
74-
(match (interp-e e r ds)
75-
['err 'err]
76-
[v (match (interp-e* es r ds)
77-
['err 'err]
78-
[vs (cons v vs)])])]))
74+
(cons (interp-e e r ds)
75+
(interp-e* es r ds))]))
7976

8077
;; Defns Symbol -> Defn
8178
(define (defns-lookup ds f)

jig/interp.rkt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,13 @@
6666
(interp-e e (zip xs vs) ds)
6767
(raise 'err))]))]))
6868

69-
;; (Listof Expr) REnv Defns -> (Listof Value) | 'err
69+
;; (Listof Expr) REnv Defns -> (Listof Value) { raises 'err }
7070
(define (interp-e* es r ds)
7171
(match es
7272
['() '()]
7373
[(cons e es)
74-
(match (interp-e e r ds)
75-
['err 'err]
76-
[v (match (interp-e* es r ds)
77-
['err 'err]
78-
[vs (cons v vs)])])]))
74+
(cons (interp-e e r ds)
75+
(interp-e* es r ds))]))
7976

8077
;; Defns Symbol -> Defn
8178
(define (defns-lookup ds f)

knock/interp.rkt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,13 @@
7070
(let ((v (interp-e e r ds)))
7171
(interp-match v ps es r ds))]))
7272

73-
;; (Listof Expr) REnv Defns -> (Listof Value) | 'err
73+
;; (Listof Expr) REnv Defns -> (Listof Value) { raises 'err }
7474
(define (interp-e* es r ds)
7575
(match es
7676
['() '()]
7777
[(cons e es)
78-
(match (interp-e e r ds)
79-
['err 'err]
80-
[v (match (interp-e* es r ds)
81-
['err 'err]
82-
[vs (cons v vs)])])]))
78+
(cons (interp-e e r ds)
79+
(interp-e* es r ds))]))
8380

8481
;; Value [Listof Pat] [Listof Expr] Env Defns -> Answer
8582
(define (interp-match v ps es r ds)

loot/interp.rkt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,13 @@
7575
(interp-e e (append (zip xs vs) r) ds)
7676
(raise 'err)))]))
7777

78-
;; (Listof Expr) REnv Defns -> (Listof Value) | 'err
78+
;; (Listof Expr) REnv Defns -> (Listof Value) { raises 'err }
7979
(define (interp-e* es r ds)
8080
(match es
8181
['() '()]
8282
[(cons e es)
83-
(match (interp-e e r ds)
84-
['err 'err]
85-
[v (match (interp-e* es r ds)
86-
['err 'err]
87-
[vs (cons v vs)])])]))
83+
(cons (interp-e e r ds)
84+
(interp-e* es r ds))]))
8885

8986
;; Id Env [Listof Defn] -> Answer
9087
(define (interp-var x r ds)

0 commit comments

Comments
 (0)