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