On Tue, Sep 11, 2007 at 07:33:54AM -0700, Greg Meredith wrote:
> Our analysis suggested the following breakdown
> 
>    - Structural reflection -- all data used in the evaluation of programs
>    has a programmatic representation
>    - Procedural reflection -- all execution machinery used in the
>    evaluation of programs has a programmatic representation
> 
> The Java notion of reflection is restricted entirely to the first case

Then what would you call ClassLoader.defineClass?

As for Haskell, there are various tools for both (at least
Data.Typeable and hs-plugins), but neither are truly type-safe: it is
possible to write code that uses these libraries and type-checks, yet
crashes. Static typing makes reflection very difficult to support
safely.

You might be interested in my MS thesis, where I explored these issues
in some more length: http://www.cs.helsinki.fi/u/lealanko/alanko04types.pdf


Lauri
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to