I thought this would be of interest to LLVM developers: The Fortress project, which was an attempt to create a very advanced language with implicit parallelism, parametric polymorphic types and many other cutting edge language features, has announced that they are winding down the project. What I found very interesting was that one of the reasons they gave was the lack of a suitable execution environment:
“…over the last few years, as we have focused on implementing a compiler targeted to the Java Virtual Machine, we encountered some severe technical challenges having to do with the mismatch between the (rather ambitious) Fortress type system and a virtual machine not designed to support it (that would be every currently available VM, not just JVM). In addressing these challenges, we learned a lot about the implications of the Fortress type system for the implementation of symmetric multimethod dispatch, and have concluded that we are now unlikely to learn more (in a research sense) from completing the implementation of Fortress for JVM.”
(Full article at https://blogs.oracle.com/projectfortress/entry/fortress_wrapping_up)
This is particularly interesting to me, because in my own work on experimental languages I’ve run into many of the same brick walls as they have.