This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: more module system wishlist blathering


Jost Boekemeier <jostobfe@calvados.zrz.TU-Berlin.DE> writes:

> New #x things?  I am still working with guile 1999-08-10, so
> I am not quite up to date.  What is that?

not anything new.  example (from ice-9/boot-9.scm):

;;; Reader code for various "#c" forms.
;;;

(read-hash-extend #\' (lambda (c port)
			(read port)))
(read-hash-extend #\. (lambda (c port)
			(eval (read port))))

sorry for muddy wording.

> > > generic functions are only a special form of generics.  What we
> > > really need are generic classes.
> > what's that?  any references?
> 
> Generics in the OO sense.  See Meyer's book "Object Oriented Software
> Construction".
> 
> For example BinaryTree[Integer] or BinaryTree[Real] or Wheel[Number].
> You take a (abstract) class, parameterize it with one or more other
> classes and obtain "real" classes like IntegerBinaryTree, a 4 Wheels
> class and so on.

um.  but you have the capability to do exactly that, since GOOPS
classes are first class values.

(define <binary-tree{integer}>
   (make-binary-tree-class 'integer)) ; or something.

> Jost

--mike

-- 
All ITS machines now have hardware for a new machine instruction --
SETS
Set to Self.
Please update your programs.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]