Results 1 
5 of
5
Generic programming within dependently typed programming
 In Generic Programming, 2003. Proceedings of the IFIP TC2 Working Conference on Generic Programming, Schloss Dagstuhl
, 2003
"... Abstract We show how higher kinded generic programming can be represented faithfully within a dependently typed programming system. This development has been implemented using the Oleg system. The present work can be seen as evidence for our thesis that extensions of type systems can be done by prog ..."
Abstract

Cited by 52 (7 self)
 Add to MetaCart
Abstract We show how higher kinded generic programming can be represented faithfully within a dependently typed programming system. This development has been implemented using the Oleg system. The present work can be seen as evidence for our thesis that extensions of type systems can be done by programming within a dependently typed language, using data as codes for types. 1.
What are polymorphicallytyped ambients
, 2000
"... www.cs.bu.edu/fac/kfoury The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code [CG98]. We consider an Ambient Calculus where ambients transport and exchange programs rather that just inert data. We propose different senses in whi ..."
Abstract

Cited by 32 (5 self)
 Add to MetaCart
www.cs.bu.edu/fac/kfoury The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code [CG98]. We consider an Ambient Calculus where ambients transport and exchange programs rather that just inert data. We propose different senses in which such a calculus can be said to be polymorphically typed, and design accordingly a polymorphic type system for it. Our type system assigns types to embedded programs and what we call behaviors to processes; a denotational semantics of behaviors is then proposed, here called trace semantics, underlying much of the remaining analysis. We state and prove a Subject Reduction property for our polymorphicallytyped calculus. Based on techniques borrowed from finite automata theory, typechecking of fully typeannotated processes is shown to be decidable. Our polymorphicallytyped calculus is a conservative extension of the typed Ambient Calculus originally proposed by Cardelli and Gordon [CG99].
Faking It: Simulating Dependent Types in Haskell
, 2001
"... Dependent types reflect the fact that validity of data is often a relative notion by allowing prior data to affect the types of subsequent data. Not only does this make for a precise type system, but also a highly generic one: both the type and the program for each instance of a family of operations ..."
Abstract

Cited by 27 (6 self)
 Add to MetaCart
Dependent types reflect the fact that validity of data is often a relative notion by allowing prior data to affect the types of subsequent data. Not only does this make for a precise type system, but also a highly generic one: both the type and the program for each instance of a family of operations can be computed from the data which codes for that instance. Recent experimental extensions to the Haskell type class mechanism give us strong tools to relativize types to other types. We may simulate some aspects of dependent typing by making counterfeit typelevel copies of data, with type constructors simulating data constructors and type classes simulating datatypes. This paper gives examples of the technique and discusses its potential. 1
What are Polymorphic Ambients?
, 2001
"... The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code [CG98]. We consider an Ambient Calculus where ambients transport and exchange programs rather that just inert data. We propose different senses in which such a calculus can be ..."
Abstract
 Add to MetaCart
The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code [CG98]. We consider an Ambient Calculus where ambients transport and exchange programs rather that just inert data. We propose different senses in which such a calculus can be said to be polymorphic, and design accordingly a polymorphic type system for it. Our type system assigns types to embedded programs and what we call behaviors to processes; a denotational semantics of behaviors is then proposed, here called trace semantics, underlying much of the remaining analysis. A Subject Reduction property for our polymorphicallytyped calculus is stated. Based on techniques borrowed from finite automata theory, typechecking of fully typeannotated processes is shown to be decidable; the time complexity of our decision procedure is exponential (this is a worstcase in theory, arguably not encountered in practice). Our polymorphicallytyped calculus is a conservative ...
Practical VariableArity Polymorphism
"... Abstract. Just as some functions have uniform behavior over distinct types, other functions have uniform behavior over distinct arities. These variablearity functions are widely used in scripting languages such as Scheme and Python. Statically typed languages also accommodate modest forms of variab ..."
Abstract
 Add to MetaCart
Abstract. Just as some functions have uniform behavior over distinct types, other functions have uniform behavior over distinct arities. These variablearity functions are widely used in scripting languages such as Scheme and Python. Statically typed languages also accommodate modest forms of variablearity functions, but even ML and Haskell, languages with highly expressive type systems, cannot type check the wide variety of variablearity functions found in untyped functional languages. Consequently, their standard libraries contain numerous copies of the same function definition with slightly different names. As part of the Typed Scheme project—an ongoing effort to create an explicitly typed sister language for PLT Scheme—we have designed and implemented an expressive type system for variablearity functions. Our practical validation in the context of our extensive code base confirms the usefulness of the enriched type system. 1 Types for VariableArity Functions