[Grace-core] Grace feedback

Andrew P. Black black at cs.pdx.edu
Thu Nov 4 20:13:08 PDT 2010


I though that Dan's point is that he wants to teach ADTs, not objects at all, because ADTs are simpler.
What ADTs give up — being able to substitute a new implementation on a per-instance basis — is something that most novices won't ever do.

Is that right, Dan?    Being object bigots, we may not agree, but I would like to at least understand your point.

	Andrew



On 4 Nov 2010, at 15:46, Dan Grossman wrote:

> At SPLASH, I gave you guys some oral feedback / first impressions on
> your Grace initiative and promised to follow-up in writing so you'd
> have it written down somewhere.  I'm finally getting around to that.
> This advice is quite likely worth what you paid for it -- and
> naturally it's much easier to throw spitballs from the back of the
> room than to actually do something.
> 
> In no particular order:
> 
> ...

> * The place where I feel most OO languages fall down for lower-level
> pedagogy is basic abstract interfaces.  The technical reasons have to
> do with binary methods blah blah blah, but the point is to avoid all
> that.  I want to be able to define an abstract type and operations on
> it:
>     type set_of_integers;
>     function new_set : () -> set_of_integers
>     function add_to_set : (int) -> set_of_integers
>     function intersection : (set_of_integers, set_of_integers) ->
> set_of_integers
> I don't care about the syntax.  I do care that I can change the
> implementation without affecting clients.  And I shouldn't have to
> jump through OO hoops -- the implementation should be able to assume
> the concrete representation.  I called this "Clu-style" though of
> course many other languages get this right (ML, Racket, ...).
>  ...



More information about the Grace-core mailing list