44
55@title[#:style '(unnumbered)]{Project}
66
7- The final assesment for this course consists of an individually
7+ The final assessment for this course consists of an individually
88completed project.
99
1010Final deliverables are due by the end of the time schedule for the
@@ -174,7 +174,7 @@ Suppose you have:
174174Since the expression @racket[(f 5 )] is calling a known function, you
175175should be able to transform this call into @racket[(let ((x 5 )) (add1
176176x))]. Using the previously described optimization, you can further
177- optimize this to @racket[(add1 5 )], which in turn can be simiplified
177+ optimize this to @racket[(add1 5 )], which in turn can be simplified
178178to @racket[6 ]. You can keep going and notice that @racket[(zero? 6 )]
179179is just @racket[#f ], so the whole program can be simplified to:
180180
@@ -190,7 +190,7 @@ Note that the last example can get considerably more complicated in a
190190language with first-class functions since it may not be possible to
191191know statically which function is being called.
192192
193- There are many other optimziations you might consider. Think about
193+ There are many other optimizations you might consider. Think about
194194the kinds of expressions you might write and how they can be
195195simplified, then figure out how to do it programmatically.
196196}
@@ -245,7 +245,7 @@ Here are some examples to help illustrate:
245245]
246246
247247Any time an expression produces a number of values that doesn't match
248- what the surrounding context expects, an error should be signalled .
248+ what the surrounding context expects, an error should be signaled .
249249
250250@ex[
251251
@@ -265,7 +265,7 @@ run-time system should print each of them out, followed by a newline:
265265Note there is some symmetry here between function arity checking where
266266we make sure the number of arguments matches the number of parameters
267267of the function being called and the ``result arity'' checking that is
268- required to implement this feature. This suggests a similiar approach
268+ required to implement this feature. This suggests a similar approach
269269to implementing this feature, namely designating a register to
270270communicate the arity of the result, which should be checked by the
271271surrounding context.
@@ -472,10 +472,10 @@ Here are the key features that need to be added:
472472@itemlist[
473473
474474@item{all language constructs that allocate memory should check that
475- the current state of the heap can accomodate an allocation before
475+ the current state of the heap can accommodate an allocation before
476476performing it, and if not, doing a garbage collection and trying
477- again. If there is still not possible to accomodate the allocation,
478- an error should be signalled .}
477+ again. If there is still not possible to accommodate the allocation,
478+ an error should be signaled .}
479479
480480@item{@racket[(collect-garbage)] will run a garbage collection and
481481return void.}
@@ -488,7 +488,7 @@ currently allocated in the heap.}
488488
489489@item{@racket[(dump-memory-stats)] prints information about the
490490current stack and heap and returns void. See the @tt{iniquity-gc}
491- langauge for an example.}
491+ language for an example.}
492492]
493493
494494
@@ -499,7 +499,7 @@ langauge for an example.}
499499You may also design your own project, however, you will need to submit
500500a one-page write-up that documents what you plan to do and how you
501501will evaluate whether it is successful. You must submit this document
502- and have it approved by the instructor by XXX .
502+ and have it approved by the instructor by November 22 .
503503
504504@section[#:tag "project " ]{Submitting}
505505
0 commit comments