My office hour on the 29th will be from 2.30-3.30. Apologies again for having to move it. I will have another office hour that day, too.
Reminder: course evaluations at the beginning of the class on Monday (i.e., 5.30ish). I won't hold a lecture afterwards, but I will be available in my office for questions.
Some people have run into trouble using STORABLE, specifically when using multiple inheritance (e.g., having a DATABASE class inheriting from an ARRAY and STORABLE). There are two problems here: a name clash problem (which we know how to solve, using rename) and a behavioural problem associated with dynamic binding. We'll get to a solution early next week (knock on wood) but for now I suggest you use a workaround and have DATABASE inherit from STORABLE and use ARRAY as an attribute.
Some people have been having a bit of trouble with input from the keyboard. Problems may arise if previous input has not been flushed. One way around this problem is before you do any input (e.g., via io.read_line, for example) do an io.put_string("%N") to flush the system.
Someone asked me how to do array constants. The syntax has actually changed slightly from that in the textbook. The following should work.
simple_array : ARRAY[INTEGER] make is do simple_array := <<1, 2, 3, 4, 5>> endAlternatively, you can do the following.
simple_array:ARRAY[INTEGER] is once result := <<1, 2, 3, 4, 5>> endWe will explain once functions later in the term.
More slides have been added to the course directory on Ariel.
Reminder: I am away all next week (Sept 20-24) at a conference overseas. There will be no lectures or office hours next week. (Monday, incidentally, is Yom Kippur, so all classes are cancelled.)
I have put documentation for Visual Eiffel on the Eiffel@York page. It includes stuff on the libraries, and a whole pile of info. on how to compile and get started. Useful stuff.
I have an extra office hour on Thursday, Sept 16 from 11-12 am.
A sample design document has been posted to the Eiffel@York page (in PDF). You may find it helpful in suggesting how to organize your design document in the project. Be forewarned: the sample is much larger and more complicated than the document you will be required to write.