[DGD] reflective programming under DGD

Shentino shentino at gmail.com
Mon Jun 25 20:34:43 CEST 2007


So LISP would sorta be a reflective programming language?

On 6/21/07, Kirk Smith <kirk at kirktis.net> wrote:
>
>
> C/P from DMOZ:
> =========================================================
> Reflection: a
> method or means to let a system maintain information about itself (meta-information), and to use
> such to alter its behavior, to change, adapt; something acting upon itself. This is higher-order
> behavior than strict imperative models.
>
> More concretely, reflection is also an ability (for users) to modify software (even system
> software) of the underlying system during runtime, without leaving that system. Most programs
> written today are not reflective. With non-reflective systems, if one modifies (edits) any source
> code, one must recompile, and then restart it, thus leaving the system. With a reflective system,
> one can modify code (even kernel code), recompile, and replace the running system code as the
> system runs, with no restarting, rebooting, or often even leaving the editor. This allows and
> promotes more dynamic, fluid, productive work style. Such runtime modifiability is similar to what
> an extensible operating system (OS) allows, which can be viewed as a limited type of
> (application-level) OS reflectivity.
>
>  Reflection, where program = data, simplifies writing compilers, interpreters, optimizers,
> theorem provers, and defining higher order functions.
>
> Reflective programming languages are those that take advantage of such traits and abilities, to
> various ends. Many exist. Some are used daily, in working systems, but they do not dominate, and
> are not mainstream, yet. They are a very interesting and promising class of languages. Some are
> found in research, where they form a fascinating branch of computer science. Some experts say they
> will grow more important in the future as computer power rises, programs grow more complex, and
> artificial intelligence properties are grafted onto, or blended with, languages. Or, like so many
> other technologies, they may remain more marginal, used only in certain areas and applications.
>
> =========================================================
>
>
> > Pardon me for
> being an utter noob, but what in tarnation does "reflective" mean?
> >
> >
> Not a term I'm familiar with, especially wrt. dgd.
> >
> > On 6/20/07, Felix A. Croes
> <felix at dworkin.nl> wrote:
> >> Carter Cheng <carter_cheng at yahoo.com>
> wrote:
> >>
> >> > I have been wondering if it is possible to do
> >> > reflective programming under DGD? I figure this sort
> >> > of thing
> could be quite powerful in perhaps helping to
> >> > implement certain features like
> an incremental
> >> > (object) garbage collector provided i had access to
> >> > the variable list and the types of the variables and a
> >> > way to
> reflectively load them.
> >>
> >> DGD does not support this directly.  What you
> could do is write your
> >> own LPC-to-LPC compiler (others have done this, though
> typically as
> >> a LPCish-to-LPC compiler) that preserves the information you need
> >> for reflection.
> >>
> >> Regards,
> >> Dworkin
> >> ___________________________________________
> >>
> https://mail.dworkin.nl/mailman/listinfo/dgd
> >>
> >
> ___________________________________________
> >
> https://mail.dworkin.nl/mailman/listinfo/dgd
> >
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
>



More information about the DGD mailing list