[ETYMOLOGY] - Sterile Classes / Sterile Meta Classes

  • Thread starter Ilias Lazaridis
  • Start date
I

Ilias Lazaridis

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" "

..
 
L

Logan Capaldo

On 5/7/05 said:
* 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.
 
B

Bill Atkins

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

You are my hero.

=20
=20
Le 7/5/2005, "Ilias Lazaridis" <[email protected]> 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--
 
J

Jon A. Lambert

Saynatkari said:
Le 7/5/2005, "Ilias Lazaridis" <[email protected]> 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'.
 
N

Nikolai Weibull

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
 
J

Jon A. Lambert

Nikolai said:
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

;-)
 
Y

Yukihiro Matsumoto

In message "Re: [ETYMOLOGY] - Sterile Classes / Sterile Meta Classes"

|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.
 
I

Ilias Lazaridis

Logan said:
* 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".

..
 
B

Bill Guindon

In message "Re: [ETYMOLOGY] - Sterile Classes / Sterile Meta Classes"

|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?
 
I

Ilias Lazaridis

Yukihiro said:
In message "Re: [ETYMOLOGY] - Sterile Classes / Sterile Meta Classes"

|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!

..
 
I

Ilias Lazaridis

Nikolai said:
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]

..
 
I

Ilias Lazaridis

Bill said:
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

..
 
C

craig duncan

Yukihiro said:
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
 
G

Glenn Parker

Yukihiro said:
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.
 
C

Chris Pine

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
 
E

ES

Le 8/5/2005 said:
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)

E
 
C

Carlos

2005-05-08 17.13 CEST] said:
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...)
 
H

Hal Fulton

Carlos said:
2005-05-08 17.13 CEST] said:
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
 
A

Andy Stone

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



Carlos said:
2005-05-08 17.13 CEST] said:
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
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,584
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top