HLL and misa...

Frank DiCostanzo frdF93@hamp.hampshire.edu
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.

 Frank DiCostanzo

At the McDonalds restaurant I did write on the restroom wall,
  "For a good time call swell.hampshire.edu."
		- J.G.