Home > Archive > Scheme > July 2004 > Bigloo and the lack of a MOP
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Bigloo and the lack of a MOP
|
|
| chain_lube@hotmail.com 2004-07-14, 4:01 pm |
| Hi:
Someone explained to me on comp.lang.python that Bigloo its object
system is crippled due to its lack of a meta object protocol.
I am not very versed in such things as meta object protocol or CLOS.
However, what are projects which are hard to realize in Bigloo its
object system? As the manual states Bigloo inherits its object system
from MERON.
I gather from the comp.lang.python post that a key feature of a meta
object protocol is the fact that one can inherit methods and such
things.
As I said I am not expert, but I gather from the following thread that
MERON or in this case Bigloo its (allegedly) lack of such a meta
object protocol is simply a "different point of few":
http://groups.google.com/groups?hl=...%26selm%3D3g55s
g%2524h9p%2540taloa.unice.fr%26rnum%3D23
I mean if one implements an object system without a meta object
protocol facility this in turn means he had the intention of doing it.
If it really is that bad not having a meta object protocol why on
earth would someone implement an object system which is then
considered bad or of low value.
I ask without any ulterior-motive, because I am after the answer of:
"Will I miss something by always using Bigloo its object system
exclusively".
Fensterbrett
| |
| Pascal Costanza 2004-07-14, 4:01 pm |
| chain_lube@hotmail.com wrote:
> Hi:
>
> Someone explained to me on comp.lang.python that Bigloo its object
> system is crippled due to its lack of a meta object protocol.
I don't know enough about Bigloo to give specific comments. However,
I'll try to give some general answers.
> I am not very versed in such things as meta object protocol or CLOS.
> However, what are projects which are hard to realize in Bigloo its
> object system? As the manual states Bigloo inherits its object system
> from MERON.
I think it's called Meroon. Otherwise it wouldn't be very OO. ;)
A question about what is hard to implement with a MOP is hard to answer
because a MOP is a very general facility. There is a very good
introductory paper about MOPs by Andreas Paepcke called "User-Level
Language Crafting", available at
http://www-db.stanford.edu/~paepcke...nts/mopintro.ps (It
focuses on the CLOS MOP for Common Lisp, but the ideas are general
enough to be interesting for other object systems, for example most
obviously Tiny CLOS / Swindle.)
> I gather from the comp.lang.python post that a key feature of a meta
> object protocol is the fact that one can inherit methods and such
> things.
Inheritance is a already a feature of most object systems. A MOP allows
you, for example, to influence the rules for inheritance.
> I mean if one implements an object system without a meta object
> protocol facility this in turn means he had the intention of doing it.
It's not possible to implement an object system without a metaobject
protocol! All object systems need to determine inheritance rules,
resolution of name clashes, mappings of slot/field/variable names to
object indices, etc., at some stage. These are the things that belong to
the meta level and must be dealt with no matter what. The idea of
explicit metaobject protocols is to make the meta level available to
programmers in order to allow them to manipulate those rules so that
they can get a somewhat different object system. For example, you can
make the object system store slots/fields/variables in a persistent
database instead of in RAM (just one real-world example).
> If it really is that bad not having a meta object protocol why on
> earth would someone implement an object system which is then
> considered bad or of low value.
Why do people smoke? Why do they listen to Britney Spears? ;)
> I ask without any ulterior-motive, because I am after the answer of:
> "Will I miss something by always using Bigloo its object system
> exclusively".
Will you miss something by always using Newtonian physics instead of
relativity theory? Probably yes. Does it matter to you? That's up to you
to decide...
Pascal
--
Pascal Costanza University of Bonn
mailto:costanza@web.de Institute of Computer Science III
http://www.pascalcostanza.de Römerstr. 164, D-53117 Bonn (Germany)
| |
| Joe Marshall 2004-07-14, 4:01 pm |
| chain_lube@hotmail.com writes:
> Hi:
>
> Someone explained to me on comp.lang.python that Bigloo its object
> system is crippled due to its lack of a meta object protocol.
>
> I am not very versed in such things as meta object protocol or CLOS.
> However, what are projects which are hard to realize in Bigloo its
> object system? As the manual states Bigloo inherits its object system
> from MERON.
>
> I gather from the comp.lang.python post that a key feature of a meta
> object protocol is the fact that one can inherit methods and such
> things.
>
> As I said I am not expert, but I gather from the following thread that
> MERON or in this case Bigloo its (allegedly) lack of such a meta
> object protocol is simply a "different point of few":
>
> http://groups.google.com/groups?hl=....*%26selm%3D3g5
5sg%2524h9p%2540taloa.unice.fr%26rnum%3D23
>
> I mean if one implements an object system without a meta object
> protocol facility this in turn means he had the intention of doing it.
> If it really is that bad not having a meta object protocol why on
> earth would someone implement an object system which is then
> considered bad or of low value.
>
> I ask without any ulterior-motive, because I am after the answer of:
> "Will I miss something by always using Bigloo its object system
> exclusively".
Short answer: you probably won't miss it.
Long answer: In my experience, customization of the object system via
the MOP is an important part of CLOS-like object systems. Most
of the substantial projects I've worked on that made heavy use of CLOS
also used the MOP.
But CLOS without the MOP is still very useful.
| |
| Bradley J Lucier 2004-07-14, 4:01 pm |
| I don't know anything about Bigloo's object system, so I can't comment on it.
Meroon has what Queinnec once called a "compile-time" MOP. One can customize
many aspects of how one wants the object system in Meroon to work. It
is difficult to do this at run-time, however, like one can do with CLOS.
Brad Lucier
|
|
|
|
|