Skip to content

Commit 4f07027

Browse files
committed
Slight revision to assign 5.
1 parent 5febfae commit 4f07027

File tree

1 file changed

+10
-38
lines changed

1 file changed

+10
-38
lines changed

www/assignments/5.scrbl

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ new features:
4545
Implement the @racket[abs], unary @racket[-], and @racket[not] operations and
4646
the @racket[cond] and @racket[case] forms from
4747
@seclink["Assignment 4"]{Assignment 4} by modifying @tt{interp.rkt},
48-
@tt{interp-prim.rkt}, @tt{compile.rkt}, and @tt{compile-op.rkt}. You can
48+
@tt{interp-prim.rkt}, @tt{compile.rkt}, and @tt{compile-ops.rkt}. You can
4949
start from your previous code, but you will need to update it to work for the
5050
code you are given. What's essentially left for you to do is to make sure to
5151
correctly signal an error (@racket['err]) when these constructs are
@@ -77,6 +77,10 @@ the right-hand sides of any of the @racket[let]. So, for example,
7777
@racketblock[(let ((x 1) (y x)) 0)] is a syntax error because the occurrence of
7878
@racket[x] is not bound.
7979

80+
The provided interpreter and compiler work when the @racket[let]
81+
expression happens to bind a single variable, but you must revise the
82+
code to work for any number of bindings.
83+
8084

8185
@subsection[#:tag-prefix "a5-" #:style 'unnumbered]{Back-Referencing Let}
8286

@@ -99,43 +103,11 @@ Unlike @racket[let], @racketblock[(let* ((x 1) (y x)) 0)] is @emph{not} a
99103
syntax error. However, bindings are only available forward, so
100104
@racketblock[(let* ((x y) (y 1)) 0)] @emph{is} a syntax error.
101105

102-
103-
104-
105-
@;{
106-
The goal of this assignment is to extend the language developed in
107-
@secref{Extort} with new forms of control flow expressions:
108-
@racket[when]- and @racket[unless]-expressions.
109-
110-
@section[#:tag-prefix "a5-" #:style 'unnumbered]{Extort+}
111-
112-
The Extort+ language extends Extort in the follow ways:
113-
114-
@itemlist[
115-
@item{adding @racket[when],}
116-
@item{adding @racket[unless], and}
117-
@item{bringing forward all the features of Dupe++.}
118-
]
119-
120-
121-
@section[#:tag-prefix "a5-" #:style 'unnumbered]{Testing}
122-
123-
You can test your code in several ways:
124-
125-
@itemlist[
126-
127-
@item{Using the command line @tt{raco test .} from
128-
the directory containing the repository to test everything.}
129-
130-
@item{Using the command line @tt{raco test <file>} to
131-
test only @tt{<file>}.}
132-
]
133-
134-
Note that only a small number of tests are given to you, so you should
135-
write additional test cases.
106+
The provided interpreter and compiler work when the @racket[let*]
107+
expression happens to bind a single variable, but you must revise the
108+
code to work for any number of bindings.
136109

137110
@section[#:tag-prefix "a5-" #:style 'unnumbered]{Submitting}
138111

139-
To submit, use @tt{make} from within the code directory to create a
140-
zip file containing your work and submit it to Gradescope.
141-
}
112+
To submit, use @tt{make} from within the @tt{fraud-plus} directory to
113+
create a zip file containing your work and submit it to Gradescope.

0 commit comments

Comments
 (0)