On Fri, Jun 3, 2011 at 11:37 PM, Scott McLoughlin <scottmc...@gmail.com> wrote: > What is the relationship, positive and negative, between static > typing in language design and user-transparent and modifiable > systems bootstrapped from small kernels?
"Small type systems" aren't very powerful, and tend to grate on their users. So people dream of more powerful type systems, to let them write more flexible code. Soon you're in Hindley-Milner territory or fighting the halting theorem and your system isn't so small and understandable any more. The solution seems to be a "pluggable types" system, which lets you build a complicated and/or domain-specific static type system (or several of them) from a small kernel (or a purely dynamic system). AFAIK, this hasn't gotten a lot of attention from the research community, partly because no one seems quite certain how to go about building such a thing. Gilad Bracha seems to have done the most thinking about it; see his position paper linked from: http://bracha.org/Site/Newspeak.html The bibliography of his position paper cites a number of other related papers. I spend some time around 2007 trying to figure out how to write Java 1.5's type system in terms of a smaller kernel type system. I didn't get very far. (I made much more progress on the syntactic evolution of Java 1.5 from Java 1.0.) There are links between type systems and abstract interpretation (see http://lambda-the-ultimate.org/node/2208 ); that may hold the key. Perhaps some others of the list can fill in more details. --scott -- ( http://cscott.net ) _______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc