On 08/07/2014 10:15 AM, Jonathan S. Shapiro wrote: > The other issue that emerges here is the problem of reflection. > Reflection is very powertul and very useful, but its current form is > malignant. Let's start another thread exploring what we might do about > that.
This is a question I've read about quite a bit. Like most issues I've found inprogramming languages, type-basedsolutions seem to be pretty good. In terms of literature, we have: * polytypic programming: papers range from ML to Haskell with various solutions. * "generics" in Haskell: scrap your boilerplate, data types ala carte, etc., but the best solution in terms of performance currently seems to be associated types and type families combined with a new "deriving" [1,2]. * first-class everything: basically, languages based on something like the pattern calculus whereby every value is classified as either an atom or a compound of atoms, and usual pattern matching can deconstruct everything piecewise. * metaprogramming in dependently typed languages is something I haven't yet gotten to, but looks promising [3]. There are a number of issues reflection muddles together though, so it really depends what you want to achieve. Sandro [1] http://dreixel.net/research/pdf/gdmh.pdf [2] http://www.haskell.org/haskellwiki/GHC.Generics [3] https://lirias.kuleuven.be/bitstream/123456789/404549/1/icfp002-devriese-authorversion.pdf _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
