Sciweavers

ICFP
2001
ACM
14 years 7 months ago
Contification Using Dominators
Contification is a compiler optimization that turns a function that always returns to the same place into a continuation. Compilers for functional languages use contification to e...
Matthew Fluet, Stephen Weeks
ICFP
2001
ACM
14 years 7 months ago
A Dependently Typed Assembly Language
We present a dependently typed assembly language (DTAL) in which the type system supports the use of a restricted form of dependent types, reaping some benefits of dependent types...
Hongwei Xi, Robert Harper
ICFP
2002
ACM
14 years 7 months ago
Shortcut fusion for accumulating parameters & zip-like functions
We present an alternative approach to shortcut fusion based on the function unfoldr. Despite its simplicity the technique can remove intermediate lists in examples which are known...
Josef Svenningsson
ICFP
2002
ACM
14 years 7 months ago
Compiling scheme to JVM bytecode: : a performance study
We have added a Java virtual machine (henceforth JVM) bytecode generator to the optimizing Scheme-to-C compiler Bigloo. We named this new compiler BiglooJVM. We have used this new...
Bernard P. Serpette, Manuel Serrano
ICFP
2002
ACM
14 years 7 months ago
Tagless staged interpreters for typed languages
Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of de...
Emir Pasalic, Walid Taha, Tim Sheard
ICFP
2002
ACM
14 years 7 months ago
Type classes with more higher-order polymorphism
We propose an extension of Haskell's type class system with bstractions in the type language. Type inference for our extension relies on a novel constrained unification proce...
Matthias Neubauer, Peter Thiemann
ICFP
2002
ACM
14 years 7 months ago
Meta-programming with names and necessity
Meta-programming is a discipline of writing programs in a certain programming language that generate, manipulate or execute programs written in another language. In a typed settin...
Aleksandar Nanevski