Courses
Project step 1 is due at 11:59 PM on Monday, 10 November, 2003.
In this step, we port the ratpair implementation of
the ratintvl datatype from the 2002 project to the 2003
project. Your task is to read the Web presentation of the
2002 project and make sure that everything up through the first step will work for
us this year. Notice that code supposedly implementing the first step
is available on the "Selected solutions" page. There may be some plain
old errors to catch. We are also concerned with catching any features
that depend on MIT Scheme and will not run on
MZScheme (the implementation of Scheme used by the
DrScheme programming tools). Besides the implementation code
in my ratintvl-3_ratpair-1,mod1.scm files we need the
testing utilities in progutils-2.scm in order to test
things. The most likely problem is the timetest
feature. If we identify such a problem now, I can fix it before we
need to do any time tests.
As you study the old materials, watch out for differences in notation. In particular, last year I used the old traditional notation for list selectors.
car is the same as our firstcdr is the same as our restc, end with r, and have silly looking
sequences of as and ds in between. Each
a stands for an application of car, and each
d stands for an application of cdrcadr is second,
caddr is third, etc.Last year, I also used traditional Scheme quoting and list
notation. Standard Scheme has the list function,
but it is often not used as heavily as the DrScheme material
suggests. For example, '(1 2 3) is the same as
(list 1 2 3). In general, you need the list
function when one or more elements of the list need to be evaluated
(e.g., (list (+ 1 2) 3 4)), but when all elements of a
list are given literally, you can use the quoted form. I will explain
the traditional notation systematically soon. For now, notice the
difference and see how well you can figure it out.
Try out the old 2002 stuff, post problems, suggest solutions. Aren and Duru and I will collect the issues and organize a better structured presentation of the tools and implementations.
Hand in a single file, named journal.txt, with a brief
and informal textual description of what you tried and what you
discovered in using the 2002 materials. About one page in list form is
ideal. You may use a nicer format, such as DVI or
PostScript if you like.
|
| |