#### Filter Results:

#### Publication Year

1990

2017

#### Publication Type

#### Co-author

#### Publication Venue

#### Key Phrases

Learn More

- Patricia Johann, Neil Ghani
- POPL
- 2008

GADTs are at the cutting edge of functional programming and becomemore widely used every day. Nevertheless, the semantic foundations underlying GADTs are not well understood. In this paper we solve this problem by showing that the standard theory of data types as carriers of initial algebras of functors can be extended from algebraic and nested data types… (More)

- Patricia Johann
- Higher-Order and Symbolic Computation
- 2002

- Patricia Johann, Janis Voigtländer
- POPL
- 2004

Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the derivation of interesting theorems about them solely from their types, i.e., virtually for free. Unfortunately, the standard parametricity theorem fails for nonstrict languages supporting a polymorphic strict evaluation primitive like Haskell's <i>seq</i>.… (More)

- Patricia Johann, Janis Voigtländer
- Fundam. Inform.
- 2006

Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the derivation of interesting theorems about them solely from their types, i.e., virtually for free. Unfortunately, standard parametricity results — including so-called free theorems — fail for nonstrict languages supporting a polymorphic strict evaluation… (More)

Fusion is the process of improving the efficiency of modularly constructed programs by transforming them into monolithic equivalents. This paper defines a generalization of the standard build combinator which expresses uniform production of functorial contexts containing data of inductive types. It also proves correct a fusion rule which generalizes the… (More)

- Patricia Johann
- J. Funct. Program.
- 2003

- Neil Ghani, Patricia Johann
- J. Funct. Program.
- 2005

Monads are commonplace programming devices that are used to uniformly structure computations with effects such as state, exceptions, and I/O. This paper further develops the monadic programming paradigm by investigating the extent to which monadic computations can be optimised by using generalisations of short cut fusion to eliminate monadic structures… (More)

- Patricia Johann
- SAIG
- 2001

Short cut fusion is a particular program transformation technique which uses a single, local transformation — called the foldr-build rule — to remove certain intermediate lists from modularly constructed functional programs. Arguments that short cut fusion is correct typically appeal either to intuition or to " free theorems " — even though the latter have… (More)

- Robert Atkey, Patricia Johann, Neil Ghani
- FOSSACS
- 2011

Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful information. For example, the N-indexed type of vectors refines lists by their lengths. Other data types may be refined in… (More)

- Robert Atkey, Neil Ghani, Bart Jacobs, Patricia Johann
- FoSSaCS
- 2012

This paper provides several induction rules that can be used to prove properties of effectful data types. Our results are semantic in nature and build upon Hermida and Jacobs' fibrational formulation of induction for polynomial data types and its extension to all inductive data types by Ghani, Johann, and Fumex. An effectful data type µ(T F) is built from a… (More)