[ETYMOLOGY] - Sterile Classes / Sterile Meta Classes

Discussion in 'Ruby' started by Ilias Lazaridis, May 7, 2005.

  1. Another suggestion for the "Ruby Singleton Classes" or "Exclusive Classes":

    Sterile Classes

    Class: keeps structure and behaviour
    Sterile: cannot create ( instances / objects )

    The Term is currently unassigned:

    http://www.google.com/search?q=sterile classes

    -

    Concept of a "Sterile Class":

    A Sterile Class is a Class, with all the abilities of the languages
    Classes, exept:

    * It cannot be instantiated.
    * It is not part of the observable object-model

    In Ruby, Sterile Classes are used to change the behaviour of _one_ object.

    The Sterile Class
    * becomes _not_ part of the observable inheritance-chain.
    * e.g.: cannot be reached via
    obj.class,
    obj.superclass,
    obj.instance_of [...]
    * _becomes_ part of the non-observable inheritance-chain.
    * e.g.: method-resolution looks _first_ at the "Sterile Class"
    * internal implementation

    [Thus, "Pseudo Class" would be possibly a right term, too - but already
    used within CSS domain]

    -

    please look at the 1.3 version of the Diagramm:

    http://lazaridis.com/case/lang/ruby/

    "john" has an "Exclusive Sterile Class"
    "john" is an instance of "Talker"
    "john" has _no_ observable relation to its "Exclusive Sterile Class"

    [observable via OOAD]

    => "[Exclusive] Sterile Class"
    => "Sterile Class"

    -

    "Talker" has an "Sterile Class" (Class:Talker)
    "Class:Talker" keeps the structure and behaviour of class Talker.
    thus "Class:Talker" is the "MetaClass" of class Talker.
    => MetaClass

    but Talker is an instance of class "Class".
    the MetaClass "Class:Talker" has no instances.

    => "Sterile Meta Class"

    -

    The terminology depends finally on the further development direction of
    Ruby.

    If it is planned to make the object model more OO like, and to implement
    _real_ metaclasses, then it would be enouth to say:

    "Attention: In the current implementation, a Ruby MetaClass is based on
    "Sterile Classes". Although they describe structure and behaviour of a
    Class, they do not instantiate those classes. They are _not_ part of the
    inheritance-tree and thus _not_ part of the object-model. That's why the
    documentation referes them as "Sterile Meta Classes" "

    ..

    --
    http://lazaridis.com
     
    Ilias Lazaridis, May 7, 2005
    #1
    1. Advertising

  2. Ilias Lazaridis

    Saynatkari Guest

    Le 7/5/2005, "Ilias Lazaridis" <> blathered:
    [snipped]

    I wholeheartedly encourage you to find out more about sterilization.

    E

    --
    template<typename duck>
    void quack(duck& d) { d.quack(); }
     
    Saynatkari, May 7, 2005
    #2
    1. Advertising

  3. On 5/7/05, Ilias Lazaridis <> wrote:
    [...]
    > * It cannot be instantiated.

    [..]
    > but Talker is an instance of class "Class".
    > the MetaClass "Class:Talker" has no instances.


    Regarding SCs (heh, one acronym fits your terminology and the current
    terminology) not having instances, while not present in Ruby their is
    the idea of the <a
    href="http://c2.com/cgi/wiki?AbstractClass">abstract class</a>, (seen
    only in C++ AFAIK, although Java's interfaces are similiar in some
    respects) which has no instances. This doesn't (debately) make it less
    of a class however. Plus one can consider an instance to be some state
    (represented by instance variables) and a pointer to the instatiated
    classes method lookup table (not sure of the right terminology here).
    Then one would would have to consider the instance to be the object
    that the SC is an SC of.
     
    Logan Capaldo, May 7, 2005
    #3
  4. Ilias Lazaridis

    Bill Atkins Guest

    ------=_Part_5541_18823251.1115502852076
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: inline

    You are my hero.

    On 5/7/05, Saynatkari <> wrote:
    >=20
    >=20
    > Le 7/5/2005, "Ilias Lazaridis" <> blathered:
    > [snipped]
    >=20
    > I wholeheartedly encourage you to find out more about sterilization.
    >=20
    > E
    >=20
    > --
    > template<typename duck>
    > void quack(duck& d) { d.quack(); }
    >=20
    >=20



    --=20
    Bill Atkins

    ------=_Part_5541_18823251.1115502852076--
     
    Bill Atkins, May 7, 2005
    #4
  5. Saynatkari wrote:
    > Le 7/5/2005, "Ilias Lazaridis" <> blathered:
    > [snipped]
    >
    > I wholeheartedly encourage you to find out more about sterilization.
    >


    It depends on whether this has a double meaning. Has science discovered a
    troll gene? Nature or nurture?
    As you might guess I lean towards the nurture side.

    On the other meaning...
    In the ColdC language, well ColdCore library to be more specific, objects
    that are "spawnable" have a "fertile" attribute attached to them. There's
    no such thing as a "class" though, just pure objects. Spawned objects
    inherit from their parents, while "cloned" objects are siblings in the
    inheritance tree. The absence of the "fertile" symbol is similar to Java's
    'final'.

    --
    J Lambert
     
    Jon A. Lambert, May 7, 2005
    #5
  6. Ilias Lazaridis, May 8:

    [blah]

    What does this have to do with etymology? I don't think you know what
    the word "etymology" means. Please refrain from using terms
    incorrectly in the future. Thanks,
    nikolai

    --
    Nikolai Weibull: now available free of charge at http://bitwi.se/!
    Born in Chicago, IL USA; currently residing in Gothenburg, Sweden.
    main(){printf(&linux["\021%six\012\0"],(linux)["have"]+"fun"-97);}
     
    Nikolai Weibull, May 8, 2005
    #6
  7. Nikolai Weibull wrote:
    > Ilias Lazaridis, May 8:
    >
    > [blah]
    >
    > What does this have to do with etymology? I don't think you know what
    > the word "etymology" means. Please refrain from using terms
    > incorrectly in the future. Thanks,
    > nikolai



    Mmm... chewy etyms

    singleton - an unmarried unattached person - circa 1930's
    singleton also refers to a single card of a suit in one's dealt hand in
    whist - 1876
    single - Old French - sengle "one, separate" - 1300's
    Latin singulus "one individual, separate"
    Latin diminutive of sim- (stem of simplus) - "simple"
    related to simpleton - which brings us full circle and back to Ilias
    Lazardis - 2005

    ;-)

    --
    J Lambert
     
    Jon A. Lambert, May 8, 2005
    #7
  8. In message "Re: [ETYMOLOGY] - Sterile Classes / Sterile Meta Classes"
    on Sun, 8 May 2005 06:14:28 +0900, Ilias Lazaridis <> writes:

    |Another suggestion for the "Ruby Singleton Classes" or "Exclusive Classes":
    |
    |Sterile Classes

    Sterile means "Not producing or incapable of producing offspring",
    right? The word suggest the (class-like) object cannot create its
    instances. But this is not the only class-like object in Ruby that
    can not (or should not) create its instances, for example, modules in
    Ruby are class-like objects which are not capable to instantiate.
    Abstract classes as well are classes not supposed to create their
    direct instances.

    Being hidden from observable object model is not important neither.
    In the new model, it would not be hidden any more, and perhaps, there
    will be a method to retrieve "singleton class" from an object. I hope
    the method name would not be Object#singleton_class.

    I'd like to emphasize the "per-object" attribute of the object.
    Ideally, the term should be "xxxx class" where

    * xxxx describe the class is per-object.
    * xxxx is an adjective, or a noun that can be used like adjective.
    * we can call methods now we call "singleton methods" as xxxx
    methods for consistency.

    In this standard, "singleton" is the best I can think of, unless name
    conflict. Sad coincidence.

    matz.
     
    Yukihiro Matsumoto, May 8, 2005
    #8
  9. Logan Capaldo wrote:
    > On 5/7/05, Ilias Lazaridis <> wrote:
    > [...]
    >
    >> * It cannot be instantiated.

    >
    > [..]
    >
    >>but Talker is an instance of class "Class".
    >>the MetaClass "Class:Talker" has no instances.

    >
    > Regarding SCs (heh, one acronym fits your terminology and the current
    > terminology) not having instances, while not present in Ruby their is
    > the idea of the <a
    > href="http://c2.com/cgi/wiki?AbstractClass">abstract class</a>, (seen
    > only in C++ AFAIK, although Java's interfaces are similiar in some
    > respects) which has no instances.


    yes, you are right.

    there's a collision.

    But possibly the term "Abstract Class" is the foundation for a solution.

    Dynamic Abstract Class.

    > This doesn't (debately) make it less
    > of a class however. Plus one can consider an instance to be some state
    > (represented by instance variables) and a pointer to the instatiated
    > classes method lookup table (not sure of the right terminology here).
    > Then one would would have to consider the instance to be the object
    > that the SC is an SC of.


    I do not understand exactly.

    but the essence is in the above about "abstract".

    ..

    --
    http://lazaridis.com
     
    Ilias Lazaridis, May 8, 2005
    #9
  10. Ilias Lazaridis

    Bill Guindon Guest

    On 5/8/05, Yukihiro Matsumoto <> wrote:
    > In message "Re: [ETYMOLOGY] - Sterile Classes / Sterile Meta Classes"
    > on Sun, 8 May 2005 06:14:28 +0900, Ilias Lazaridis <> writes:
    >
    > |Another suggestion for the "Ruby Singleton Classes" or "Exclusive Classes":
    > |
    > |Sterile Classes
    >
    > Sterile means "Not producing or incapable of producing offspring",
    > right? The word suggest the (class-like) object cannot create its
    > instances. But this is not the only class-like object in Ruby that
    > can not (or should not) create its instances, for example, modules in
    > Ruby are class-like objects which are not capable to instantiate.
    > Abstract classes as well are classes not supposed to create their
    > direct instances.
    >
    > Being hidden from observable object model is not important neither.
    > In the new model, it would not be hidden any more, and perhaps, there
    > will be a method to retrieve "singleton class" from an object. I hope
    > the method name would not be Object#singleton_class.
    >
    > I'd like to emphasize the "per-object" attribute of the object.
    > Ideally, the term should be "xxxx class" where
    >
    > * xxxx describe the class is per-object.
    > * xxxx is an adjective, or a noun that can be used like adjective.
    > * we can call methods now we call "singleton methods" as xxxx
    > methods for consistency.


    unique, lone, solo, distinct, specific, custom, customized, changed,
    expanded, crafted, decorated, tailored, adapted, adjusted,
    transformed, modified.

    any of these come close?

    > In this standard, "singleton" is the best I can think of, unless name
    > conflict. Sad coincidence.
    >
    > matz.
    >
    >



    --
    Bill Guindon (aka aGorilla)
     
    Bill Guindon, May 8, 2005
    #10
  11. Yukihiro Matsumoto wrote:
    > In message "Re: [ETYMOLOGY] - Sterile Classes / Sterile Meta Classes"
    > on Sun, 8 May 2005 06:14:28 +0900, Ilias Lazaridis <> writes:
    >
    > |Another suggestion for the "Ruby Singleton Classes" or "Exclusive Classes":
    > |
    > |Sterile Classes
    >
    > Sterile means "Not producing or incapable of producing offspring",
    > right? The word suggest the (class-like) object cannot create its
    > instances. But this is not the only class-like object in Ruby that
    > can not (or should not) create its instances, for example, modules in
    > Ruby are class-like objects which are not capable to instantiate.
    > Abstract classes as well are classes not supposed to create their
    > direct instances.


    yes, the term "Sterile" was finally bad.

    > Being hidden from observable object model is not important neither.


    Clarification:

    by hidden i mean
    * not reachable via standard OO-observations (obj.instance-of, class,
    superclass, ...)

    > In the new model, it would not be hidden any more, and perhaps, there
    > will be a method to retrieve "singleton class" from an object. I hope
    > the method name would not be Object#singleton_class.


    Can I have some more informatin about the new model?

    a) method to retrieve "singleton class", Object#singleton_class

    further planned changes?

    > I'd like to emphasize the "per-object" attribute of the object.
    > Ideally, the term should be "xxxx class" where


    "xxxx" => "x"
    => "x class"
    => "xclass"

    possibly we can agree temporarily "xclass", wher "x" stands for:

    > * xxxx describe the class is per-object.
    > * xxxx is an adjective, or a noun that can be used like adjective.
    > * we can call methods now we call "singleton methods" as xxxx
    > methods for consistency.


    the above is a nice template.

    > In this standard, "singleton" is the best I can think of, unless name
    > conflict. Sad coincidence.


    I understand your 'pain' - honestly!

    ..

    --
    http://lazaridis.com
     
    Ilias Lazaridis, May 8, 2005
    #11
  12. Nikolai Weibull wrote:
    > Ilias Lazaridis, May 8:
    >
    > [blah]
    >
    > What does this have to do with etymology? I don't think you know what
    > the word "etymology" means. Please refrain from using terms
    > incorrectly in the future. Thanks,
    > nikolai


    You cannot find concise terms without etymology.

    [but I agree that a usenet forum is possibly not the best place]

    ..

    --
    http://lazaridis.com
     
    Ilias Lazaridis, May 8, 2005
    #12
  13. Bill Guindon wrote:
    > On 5/8/05, Yukihiro Matsumoto <> wrote:

    [...]

    >>I'd like to emphasize the "per-object" attribute of the object.
    >>Ideally, the term should be "xxxx class" where
    >>
    >> * xxxx describe the class is per-object.
    >> * xxxx is an adjective, or a noun that can be used like adjective.
    >> * we can call methods now we call "singleton methods" as xxxx
    >> methods for consistency.

    >
    >
    > unique, lone, solo, distinct, specific, custom, customized, changed,
    > expanded, crafted, decorated, tailored, adapted, adjusted,
    > transformed, modified.
    >
    > any of these come close?


    "Custom"

    Custom Class

    Object#custom_class

    custom methods

    custom attributes

    -

    "Tailored"

    Tailored Class

    Object#tailoredClass

    tailored methods

    tailored attributes

    ..

    --
    http://lazaridis.com
     
    Ilias Lazaridis, May 8, 2005
    #13
  14. Ilias Lazaridis

    craig duncan Guest

    Yukihiro Matsumoto wrote:

    > I'd like to emphasize the "per-object" attribute of the object.
    > Ideally, the term should be "xxxx class" where
    >
    > * xxxx describe the class is per-object.
    > * xxxx is an adjective, or a noun that can be used like adjective.
    > * we can call methods now we call "singleton methods" as xxxx
    > methods for consistency.
    >
    > In this standard, "singleton" is the best I can think of, unless name
    > conflict. Sad coincidence.
    >
    > matz.


    I would assume that this has already been considered and (long ago) discarded.
    But from my understanding (which may not be adequate) "instance_class" most
    clearly describes it to me.

    craig
     
    craig duncan, May 8, 2005
    #14
  15. Ilias Lazaridis

    Glenn Parker Guest

    Yukihiro Matsumoto wrote:
    >
    > Sterile means "Not producing or incapable of producing offspring",
    > right? The word suggest the (class-like) object cannot create its
    > instances.


    Mind you, when Ilias is active in a thread, I generally delete it
    without a second look. So, I honestly don't expect many people to see
    this, but since Matz is still looking for meaningful terminology...

    I humbly suggest "uniclass". Sounds sort of like "eunuch-class",
    implying sterility, and also like "unique-class", which follows because
    there is at most one of these per object. It also reminds me of
    "Unibrow" from the Austin Powers series, but that is neither here nor there.

    --
    Glenn Parker | glenn.parker-AT-comcast.net | <http://www.tetrafoil.com/>
     
    Glenn Parker, May 8, 2005
    #15
  16. Ilias Lazaridis

    Chris Pine Guest

    On 5/8/05, Yukihiro Matsumoto <> wrote:
    > I'd like to emphasize the "per-object" attribute of the object.
    > Ideally, the term should be "xxxx class" where
    >
    > * xxxx describe the class is per-object.
    > * xxxx is an adjective, or a noun that can be used like adjective.
    > * we can call methods now we call "singleton methods" as xxxx
    > methods for consistency.


    How about "self"?

    "self class"
    "self methods"
    obj.self_class

    or "solo"?

    "solo class"
    "solo methods"
    obj.solo_class

    Chris
     
    Chris Pine, May 8, 2005
    #16
  17. Ilias Lazaridis

    ES Guest

    Le 8/5/2005, "Chris Pine" <> a écrit:
    >On 5/8/05, Yukihiro Matsumoto <> wrote:
    >> I'd like to emphasize the "per-object" attribute of the object.
    >> Ideally, the term should be "xxxx class" where
    >>
    >> * xxxx describe the class is per-object.
    >> * xxxx is an adjective, or a noun that can be used like adjective.
    >> * we can call methods now we call "singleton methods" as xxxx
    >> methods for consistency.

    >
    >How about "self"?
    >
    > "self class"
    > "self methods"
    > obj.self_class
    >
    >or "solo"?
    >
    > "solo class"
    > "solo methods"
    > obj.solo_class


    I would say to call it #id, but that is already taken :)
    #ego might be a possibility, too. Then we have:

    #idioclass, #idiom

    idiom
    1) "form of speech peculiar to a people or place,"
    from M.Fr. idiome, from L.L. idioma

    2) "a peculiarity in language," <---------
    from Gk. idioma

    3) "peculiarity, peculiar phraseology,"
    from idioumai "I make my own,"
    from idios "personal, private," <---------
    prop. “particular to oneself,” <---------
    from PIE *swed-yo-, suffixed form of base *s(w)e-,
    ...

    (http://www.etymonline.com/index.php?term=idiom)

    >Chris


    E

    --
    template<typename duck>
    void quack(duck& d) { d.quack(); }
     
    ES, May 8, 2005
    #17
  18. Ilias Lazaridis

    Carlos Guest

    [Yukihiro Matsumoto <>, 2005-05-08 17.13 CEST]
    [...]
    > I'd like to emphasize the "per-object" attribute of the object.
    > Ideally, the term should be "xxxx class" where
    >
    > * xxxx describe the class is per-object.
    > * xxxx is an adjective, or a noun that can be used like adjective.
    > * we can call methods now we call "singleton methods" as xxxx
    > methods for consistency.


    "Particular"?

    (In Spanish it fits perfectly, but maybe is a false friend...)
     
    Carlos, May 8, 2005
    #18
  19. Ilias Lazaridis

    Hal Fulton Guest

    Carlos wrote:
    > [Yukihiro Matsumoto <>, 2005-05-08 17.13 CEST]
    > [...]
    >
    >>I'd like to emphasize the "per-object" attribute of the object.
    >>Ideally, the term should be "xxxx class" where
    >>
    >> * xxxx describe the class is per-object.
    >> * xxxx is an adjective, or a noun that can be used like adjective.
    >> * we can call methods now we call "singleton methods" as xxxx
    >> methods for consistency.

    >
    >
    > "Particular"?
    >
    > (In Spanish it fits perfectly, but maybe is a false friend...)
    >


    I think it almost fits.

    If we use such an adjective, I would favor something like:

    - unique
    - individual
    - solitary


    Hal
     
    Hal Fulton, May 8, 2005
    #19
  20. Ilias Lazaridis

    Andy Stone Guest

    From 'singular', 'solo' popped into my head...



    On 5/8/05, Hal Fulton <> wrote:
    > Carlos wrote:
    > > [Yukihiro Matsumoto <>, 2005-05-08 17.13 CEST]
    > > [...]
    > >
    > >>I'd like to emphasize the "per-object" attribute of the object.
    > >>Ideally, the term should be "xxxx class" where
    > >>
    > >> * xxxx describe the class is per-object.
    > >> * xxxx is an adjective, or a noun that can be used like adjective.
    > >> * we can call methods now we call "singleton methods" as xxxx
    > >> methods for consistency.

    > >
    > >
    > > "Particular"?
    > >
    > > (In Spanish it fits perfectly, but maybe is a false friend...)
    > >

    >
    > I think it almost fits.
    >
    > If we use such an adjective, I would favor something like:
    >
    > - unique
    > - individual
    > - solitary
    >
    >
    > Hal
    >
    >
     
    Andy Stone, May 8, 2005
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    3
    Views:
    381
    Ron Natalie
    Mar 4, 2005
  2. Laura Creighton
    Replies:
    0
    Views:
    373
    Laura Creighton
    Sep 13, 2003
  3. Etymology of "struct"

    , Mar 31, 2007, in forum: C Programming
    Replies:
    20
    Views:
    935
    Chris Torek
    Apr 3, 2007
  4. Victor Bazarov

    A sterile class?

    Victor Bazarov, Aug 9, 2007, in forum: C++
    Replies:
    11
    Views:
    646
    James Kanze
    Aug 11, 2007
  5. mdh

    Etymology of subscript in C ( OT)

    mdh, Sep 14, 2007, in forum: C Programming
    Replies:
    5
    Views:
    330
    Richard Tobin
    Sep 14, 2007
Loading...

Share This Page