Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleSeptember 2016
Generic lookup and update for infinitary inductive-recursive types
TyDe 2016: Proceedings of the 1st International Workshop on Type-Driven DevelopmentPages 1–12https://doi.org/10.1145/2976022.2976031The class of Infinitary inductive-recursive (InfIR) types is commonly used to model type theory within itself. While it is common and convenient to provide examples of values within an InfIR model, writing functions that manipulate InfIR types is an ...
- research-articleAugust 2014
Generic constructors and eliminators from descriptions: type theory as a dependently typed internal DSL
WGP '14: Proceedings of the 10th ACM SIGPLAN workshop on Generic programmingPages 3–14https://doi.org/10.1145/2633628.2633630Dependently typed languages with an "open" type theory introduce new datatypes using an axiomatic approach. Each new datatype introduces axioms for constructing values of the datatype, and an elimination axiom (which we call the standard eliminator) for ...
- research-articleSeptember 2013
Leveling up dependent types: generic programming over a predicative hierarchy of universes
DTP '13: Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programmingPages 49–60https://doi.org/10.1145/2502409.2502414Generic programming is about writing a single function that does something different for each type. In most languages one cannot case over the structure of types. So in such languages generic programming is accomplished by defining a universe, a data ...
- research-articleSeptember 2012
Template your boilerplate: using template haskell for efficient generic programming
Haskell '12: Proceedings of the 2012 Haskell SymposiumPages 13–24https://doi.org/10.1145/2364506.2364509Generic programming allows the concise expression of algorithms that would otherwise require large amounts of handwritten code. A number of such systems have been developed over the years, but a common drawback of these systems is poor runtime ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 12 - research-articleSeptember 2012
Painless programming combining reduction and search: design principles for embedding decision procedures in high-level languages
ICFP '12: Proceedings of the 17th ACM SIGPLAN international conference on Functional programmingPages 89–102https://doi.org/10.1145/2364527.2364542We describe the Funlogic system which extends a functional language with existentially quantified declarations. An existential declaration introduces a variable and a set of constraints that its value should meet. Existential variables are bound to ...
Also Published in:
ACM SIGPLAN Notices: Volume 47 Issue 9 -
- research-articleSeptember 2011
Towards Haskell in the cloud
Haskell '11: Proceedings of the 4th ACM symposium on HaskellPages 118–129https://doi.org/10.1145/2034675.2034690We present Cloud Haskell, a domain-specific language for developing programs for a distributed computing environment. Implemented as a shallow embedding in Haskell, it provides a message-passing communication model, inspired by Erlang, without ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 12 - research-articleSeptember 2011
Binders unbound
ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programmingPages 333–345https://doi.org/10.1145/2034773.2034818Implementors of compilers, program refactorers, theorem provers, proof checkers, and other systems that manipulate syntax know that dealing with name binding is difficult to do well. Operations such as α-equivalence and capture-avoiding substitution ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 9 - research-articleSeptember 2011
A hierarchy of mendler style recursion combinators: taming inductive datatypes with negative occurrences
ICFP '11: Proceedings of the 16th ACM SIGPLAN international conference on Functional programmingPages 234–246https://doi.org/10.1145/2034773.2034807The Mendler style catamorphism (which corresponds to weak induction) always terminates even for negative inductive datatypes. The Mendler style histomorphism (which corresponds to strong induction) is known to terminate for positive inductive datatypes. ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 9 - research-articleSeptember 2010
Experience report: using hackage to inform language design
Haskell '10: Proceedings of the third ACM Haskell symposium on HaskellPages 61–66https://doi.org/10.1145/1863523.1863531Hackage, an online repository of Haskell applications and libraries, provides a hub for programmers to both release code to and use code from the larger Haskell community. We suggest that Hackage can also serve as a valuable resource for language ...
Also Published in:
ACM SIGPLAN Notices: Volume 45 Issue 11 - research-articleSeptember 2010
Instance chains: type class programming without overlapping instances
ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programmingPages 375–386https://doi.org/10.1145/1863543.1863596Type classes have found a wide variety of uses in Haskell programs, from simple overloading of operators (such as equality or ordering) to complex invariants used to implement type-safe heterogeneous lists or limited subtyping. Unfortunately, many of ...
Also Published in:
ACM SIGPLAN Notices: Volume 45 Issue 9 - research-articleSeptember 2010
A certified framework for compiling and executing garbage-collected languages
ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programmingPages 273–284https://doi.org/10.1145/1863543.1863584We describe the design, implementation, and use of a machine-certified framework for correct compilation and execution of programs in garbage-collected languages. Our framework extends Leroy's Coq-certified Compcert compiler and Cminor intermediate ...
Also Published in:
ACM SIGPLAN Notices: Volume 45 Issue 9 - proceedingAugust 2009
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
This volume contains the papers presented at ICFP 2009, the 14th ACM SIGPLAN International Conference on Functional Programming, held August 31-September 2, 2009 in Edinburgh, Scotland.
ICFP provides a forum for researchers and practitioners to hear ...
- research-articleSeptember 2008
Language and program design for functional dependencies
Haskell '08: Proceedings of the first ACM SIGPLAN symposium on HaskellPages 87–98https://doi.org/10.1145/1411286.1411298Eight years ago, functional dependencies, a concept from the theory of relational databases, were proposed as a mechanism for avoiding common problems with multiple parameter type classes in Haskell. In this context, functional dependencies give ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 2 - research-articleSeptember 2008
Shared subtypes: subtyping recursive parametrized algebraic data types
Haskell '08: Proceedings of the first ACM SIGPLAN symposium on HaskellPages 75–86https://doi.org/10.1145/1411286.1411297A newtype declaration in Haskell introduces a new type renaming an existing type. The two types are viewed by the programmer as semantically different, but share the same runtime representation. When operations on the two semantic views coincide, the ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 2