[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

More Reflection in Self?




Several papers I have read as well as dicussions on usenet have
implied that Self is a very reflective language. I would say that
this is a wrong impression: Self is roughly equivalent to Smalltalk,
with mirrors merely making up for the lack of classes.

So the question is: Do we need more reflection in Self?

My answer: no. ( !?!?! )

I'll explain:

   1) Self runs on top of Unix and X. All of the system services
      can be accessed through the system call or by adding primitives.

   2) Parts of the application can be written in other languages
      and interface with the Self part through a rather thick
      "firewall".

   3) The set of "knobs" you can mess around with in the VM is
      well thought out and will allow as much access to the
      implementation as most applications will ever need.

   4) The thread implementation is very flexible and allows
      the scheduler to really be written in Self ( having done
      some "real time" in Smalltalk V/286 lately, I find this
      very important ).

So... why am I trying to add more reflection to Self in my
Merlin Project? Because 1) it runs on bare hardware ( it *is*
the OS ), 2) primitives written in other languages have
transparent access to the implementation, 3) I want to get
rid of the VM altogether and 4) I want to go beyond threads
to multiprocessing with object migration and other weird stuff.

Brook Conner <dbc@cs.brown.edu> wrote:
> mulet@info.emn.fr (Mulet Philippe 40448387) wrote:
> >  Mirrors are not causally connected to the structures they represent.
>
> Hmm? How do you mean?  What reflective stuff do you want to do that
> can't be done with mirrors?  This isn't a challenge: I'm trying to
> figure out how much extra junk you have to add to something like the
> base Self model to get full reflection. (Part of my research is in
> stripping down existing object models until you get something that you
> can use to build exciting new object models.  TR available any day
> now).

And I am trying to find out how much junk I can throw out to get
reflection in Self :-)

- Jecel