I have a reference to add. A form of polytypic programming for dependent type systems: http://cs.ioc.ee/~james/papers/levitation.pdf
In principle it's not as powerful as Sandro's [3], but it could turn out to be easier to get working smoothly. On Tue, Jul 8, 2014 at 3:31 PM, Sandro Magi <[email protected]> wrote: > 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
