This is the mail archive of the guile@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: records


Jost Boekemeier wrote:
> 
> It may be true that CLOS was a good system 20 years ago but today
> I don't think that anyone would be comfortable with it.
> 
> Also I am thinking about the old first class variable interface used
> by guile and why module lookup was slow.  There must be some reason
> why for example environments were designed in a object oriented fashion
> (polymorphic, not generic like the rest of guile :>).

I don't understand the sense in which you are using the term "polymorphism"
in this discussion. The way I have always seen it used in papers on type
theory is that a polymorphic type is one that has one or more other types
as a parameter. For instance (in an ad-hoc but I hope comprehensible type
notation):

sometype[T] = int, T -> (list T)

Polymorphism in this sense is rather irrelevent to a dynamically typed
language, since its purpose is to be able to write code that is generic
across various types in a way that is statically type-checkable. Note that
inheritence is a sppecial case of (non-explicit) polymorphism - if you
a function that manipualtes objects of a given base class, it's type is
implicitly polymorphic over all subclasses of that class.

If you want to keep comparing allegedly different concepts about type
systems, please clearly define them first, and also try to use
terminology that everyone can agree on (well, OK, this last may be
impossible).

 - Maciej

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