home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.scheme
- Path: sparky!uunet!gatech!bloom-beacon!INTERNET!dont-send-mail-to-path-lines
- From: jeff@aiai.edinburgh.ac.UK (Jeff Dalton)
- Subject: Re: R^4RS Authors Comments on Dylan
- Message-ID: <5248.9208171141@subnode.aiai.ed.ac.uk>
- Sender: daemon@athena.mit.edu (Mr Background)
- Organization: The Internet
- Date: Mon, 17 Aug 1992 11:41:07 GMT
- Lines: 37
-
- > Date: 14 Aug 1992 13:59:59 GMT
- > From: Brian Harvey <bh@anarres.cs.berkeley.edu>
-
- > As a teacher, I incline toward object-dispatch. I know that the
- > generic function idea makes it easier to talk about an operation
- > that applies to more than one object (although not easier enough,
- > because of the combinatorial explosion of the number of possible
- > types of all the operands), but I think that for a learner the
- > whole idea of objects (smart data) is lost.
-
- You can still think in terms of "smart data" when the generics
- are specialized on only one parameter, and there are Schemes
- (such as T) in which function call syntax is used even though
- it's the objects that select the methods.
-
- If you're not going to get into implementation, it's not necessary to
- say the function does the dispatch, and even in class-based object
- systems it's not just objects interpreting messages.
-
- So I don't think the use of generic functions has to be a
- tremendous problem for education in practice. At least I
- hope not.
-
- On the other hand, I don't see why Scheme should do what Dylan
- does just because Dylan does it. If the same idea wasn't right
- when it came from Common Lisp or EuLisp or whatever, why would
- it suddenly be right now?
-
- > But I want to try to get educational concerns
- > into the picture, so that the eventual decision isn't made entirely
- > in terms of what's easy to implement efficiently and so on.
-
- if anything, a CLOS-like object system as in Dylan is probably harder
- to implement than most of the alternatives we're used to in Scheme.
-
- -- jd
-
-