Theoretical Computer Science - Special volume on computer algebra
Cayenne—a language with dependent types
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Guarded recursive datatype constructors
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Stratified type inference for generalized algebraic data types
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Boxy types: inference for higher-rank types and impredicativity
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A pattern for almost compositional functions
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Boxy types: inference for higher-rank types and impredicativity
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
RepLib: a library for derivable type classes
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Polymorphic variants in Haskell
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
System F with type equality coercions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Free Theorems and Runtime Type Representations
Electronic Notes in Theoretical Computer Science (ENTCS)
Concoqtion: indexed types now!
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Tangible functional programming
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Uniform boilerplate and list processing
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Refined typechecking with Stardust
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
AspectML: A polymorphic aspect-oriented functional programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implicitly heterogeneous multi-stage programming
New Generation Computing
Programming with proofs and explicit contexts
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
AURA: a programming language for authorization and audit
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Type checking with open type functions
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Functional pearl: streams and unique fixed points
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Paradise: a two-stage DSL embedded in Haskell
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Flask: staged functional programming for sensor networks
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Not all patterns, but enough: an automatic verifier for partial but sufficient pattern matching
Proceedings of the first ACM SIGPLAN symposium on Haskell
Haskell, do you read me?: constructing and composing efficient top-down parsers at runtime
Proceedings of the first ACM SIGPLAN symposium on Haskell
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Proceedings of the ACM SIGPLAN workshop on Generic programming
Proceedings of the ACM SIGPLAN workshop on Generic programming
A foundation for flow-based program matching: using temporal logic and model checking
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 3rd workshop on Programming languages meets program verification
Proceedings of the 3rd workshop on Programming languages meets program verification
Typed transformations of typed abstract syntax
Proceedings of the 4th international workshop on Types in language design and implementation
On Computing Constraint Abduction Answers
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
A pattern for almost compositional functions
Journal of Functional Programming
Initial Algebra Semantics for Cyclic Sharing Structures
TLCA '09 Proceedings of the 9th International Conference on Typed Lambda Calculi and Applications
Generic programming with fixed points for mutually recursive datatypes
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Complete and decidable type inference for GADTs
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
Journal of Functional Programming
Dependent types and program equivalence
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Arity-generic datatype-generic programming
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Pointwise generalized algebraic data types
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
On-demand refinement of dependent types
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Erasure and polymorphism in pure type systems
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Parametricity, type equality, and higher-order polymorphism
Journal of Functional Programming
Scrap your zippers: a generic zipper for heterogeneous types
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Ad-hoc polymorphism and dynamic typing in a statically typed functional language
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Logical types for untyped languages
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Type classes as objects and implicits
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Language virtualization for heterogeneous parallel computing
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Language-based verification will change the world
Proceedings of the FSE/SDP workshop on Future of software engineering research
Fundamenta Informaticae - Dependently Typed Programming
EriLex: an embedded domain specific language generator
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Scala for generic programmers: Comparing haskell and scala support for generic programming
Journal of Functional Programming
Factorising folds for faster functions
Journal of Functional Programming
A lightweight approach to datatype-generic rewriting
Journal of Functional Programming
Accelerating Haskell array codes with multicore GPUs
Proceedings of the sixth workshop on Declarative aspects of multicore programming
Generative type abstraction and type-level computation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ChalkBoard: mapping functions to polygons
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
A typical synergy: dynamic types and generalised algebraic datatypes
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
Calculating with lenses: optimising bidirectional transformations
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
iTasks for a change: type-safe run-time change in dynamically evolving workflows
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
IDRIS ---: systems programming meets full dependent types
Proceedings of the 5th ACM workshop on Programming languages meets program verification
Embedding a proof system in haskell
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
Explicitly recursive grammar combinators: a better model for shallow parser DSLs
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Algebraic Specialization of Generic Functions for Recursive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Transformation of structure-shy programs with application to XPath queries and strategic functions
Science of Computer Programming
On the bright side of type classes: instance arguments in Agda
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Functional modelling of musical harmony: an experience report
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Embedding polymorphic dynamic typing
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
Generic programming for indexed datatypes
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
A lean specification for GADTs: system F with first-class equality proofs
Higher-Order and Symbolic Computation
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
Outsidein(x) modular type inference with local assumptions
Journal of Functional Programming - Dedicated to ICFP 2009
New results on type systems for functional logic programming
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
A functional framework for result checking
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Adding equations to system f types
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
GMETA: a generic formal metatheory framework for first-order representations
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
More dependent types for distributed arrays
Higher-Order and Symbolic Computation
Integrating attribute grammar and functional programming language features
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Dependently typed programming with singletons
Proceedings of the 2012 Haskell Symposium
Functional programming with structured graphs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Equality proofs and deferred type errors: a compiler pearl
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Extensibility for the masses: practical extensibility with object algebras
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Generic programming with dependent types
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
Open and efficient type switch for C++
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Abstract syntax graphs for domain specific languages
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Fixing idioms: a recursion primitive for applicative DSLs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Grammar fragments fly first-class
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
System FC with explicit kind equality
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Interactive programming with dependent types
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Combining proofs and programs in a dependently typed language
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
Generalized algebraic data types (GADTs), sometimes known as "guarded recursive data types" or "first-class phantom types", are a simple but powerful generalization of the data types of Haskell and ML. Recent works have given compelling examples of the utility of GADTs, although type inference is known to be difficult. Our contribution is to show how to exploit programmer-supplied type annotations to make the type inference task almost embarrassingly easy. Our main technical innovation is wobbly types, which express in a declarative way the uncertainty caused by the incremental nature of typical type-inference algorithms.