HLL and misa...
Sun, 18 Jun 1995 14:58:12 -0400 (EDT)
On Sun, 18 Jun 1995, garth zenie wrote:
> On Sun, 18 Jun 1995 18:58:20 +0200 Rainer Blome wrote:
> > discussion? i somewhat lost track of who has got or will get what message.
> me too. done. pretty soon i will tell you the address of the misa
> list and misa development talk will go there. discussion relevent to
> tunes will go here of course.
sure, how do we subscribe to tunes?
> > o and i use `prepend', when i want to prepend an element to a list. that
> > makes the code independent of the implementation of lists.
> > (i've always tried to use first and rest instead of car and cdr. even
> > my lisp-teacher had trouble justifying these names. he said `contents
> > of address register' and `contents of decrement (descent?) register' is
> > that right?)
> yep, that is right. i find myself doing the same thing. i think that
> using car and cdr is morally wrong.
I agree and disagree. One should definitely use first and rest when
refering to such in lists but i think one should go further concerning
'pairs' vs 'cons'. I'm not so sure that 'cons' is the best name to refer
to a link in a linked list but i think that it is better that 'pair'
because 'pair' implies to me that it might be used for something other
than a list. let me try and explain myself...
too often i think there is a confusion between the representation of an
object and the behavior of an object. just because a cons happens to have
two references does not mean it should be used to hold any two values.
this is a coincidence of its structure. if one needs to hold two values
then one should first, write a class that describes what the two values
together means, but if that doesn't make sense then, second, use a
'separate' structure called a 'pair'. in my mind a pair is simply a
special case of an array. if one needs to make a tree structure, one
should make a class called 'tree' or something, even if that class has
the same structure as the cons or pair i.e. two slots.
in my mind this is important because i feel that objects should be
differentiated by their behavior, not their structure. that way i can
write routines for them individually and modify their behavior without
conflicting with other objects of the same structure.
does it really make any sense to use 'rest' to get the second item in a
pair when it is not a list? one should use 'second' which would
obviously fail if the pair were considered a list link because 'second'
would return the item from the second link in the list.
on another note, i'm sending this to the tunes newsgroup so, Hello! we
seem to have common goals and i think it would be exciting if we could
somehow collaborate. reading your mission statement before i felt as
though i could be reading the misa project's statement.
At the McDonalds restaurant I did write on the restroom wall,
"For a good time call swell.hampshire.edu."