October 26, 2004
- Epiphany moments
Recursive calls -- to do something like (+ (+ 1 3) (+ 3 4)), send the args through the eval function. If eval also knows how to do self-evaluating things like "3", it all magically falls out.
- Doing program design in the same concept space/structural space as the language or code that will eventually define that program tends to have the "*poof* -- Oh hey, it appears as if software just fell directly out of my head" effect.
- Direct relationship between grammar rule and code element handling that rule
- Tree abstraction of Scheme is cool
- Fundamental bits of lisp(minimal set: your underlying hardware/software needs to do at least this, everything else can be built from this set):
cons, car, cdr, null?, atom?, eq?
if xor cond
For Next Time
Note: We this is a two-week assignment since next tuesday is an Olin Wednedsay
Assignment is at ProjectAssignment4
- If Prolog is still too uncomfy to do this assignment, do things like, say, list processing -- sorting searching adding deleting pushing popping enqueueing dequeueing etc.
Tell Lynn in advance if your prolog project is something you'd like to share(like, before 11/9)
Tell Lynn in advance if you'd like to do a "5 minutes on *" (like, by next friday)