[LLVMdev] Parametric polymorphism

Lennart Augustsson lennart at augustsson.net
Wed Feb 18 06:57:17 PST 2009


Yes, I'm familiar with System F and its siblings.
It's not as easy as just plugging that into LLVM and you get something good.
Plugging them together would take hard work, and then you have to do
specialization at the LLVM level anyway to get good code.

I don't think the LLVM should have polymorphism, like Jon Harrop I
think that should be dealt with at a higher level.

  -- Lennart

On Tue, Feb 17, 2009 at 5:26 PM, DeLesley SpamBox
<delesley.spambox at googlemail.com> wrote:
> Is anyone on this list familiar with System F, System F_sub, or System
> F^\omega_sub?  They comprise the basic, standard theories of parametric
> polymorphism used in the academic world, and have been around for about
> 20 years.  You can obviously get more sophisticated, but the System-F series
> of calculi have the advantage that they are simple, well-known, off-the-shelf
> solutions.  Pick one, plug it into llvm, and you have a type system that can
> compete with the JVM or .NET in terms of functionality, without being OOP
> centric or sacrificing language neutrality.  (System F is low-level --
> OOP can be
> easily implemented on top of it).



More information about the llvm-dev mailing list