Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

C. Barry Jay

dblp:27/1158 · DBLP profile ↗
← Back
17ranked-venue papers
16as first author
0since 2021 · last 2011
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 13 · 12 first-authorTheory of computation · 3 · 3 first-authorSystems, architecture and hardware · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › programming paradigms
generic programming
0.012004
The pattern calculus · ACM Trans. Program. Lang. Syst. 2004
Programming languages and type systems › lambda calculus
pattern calculus
0.012004
The pattern calculus · ACM Trans. Program. Lang. Syst. 2004
Programming languages and type systems
type inference
0.012004
The pattern calculus · ACM Trans. Program. Lang. Syst. 2004

Methods — techniques the papers use, named apart from their topics

pattern matching · 0.0combinatory type system · 0.0
YearPublicationVenuePosition
2011 Typed self-interpretation by pattern matching
abstract
Self-interpreters can be roughly divided into two sorts: self-recognisers that recover the input program from a canonical representation, and self-enactors that execute the input program. Major progress for statically-typed languages was achieved in 2009 by Rendel, Ostermann, and Hofer who presented the first typed self-recogniser that allows representations of different terms to have different types. A key feature of their type system is a type:type rule that renders the kind system of their language inconsistent.
C. Barry Jay, Jens Palsberg
ICFP1
2009 First-class patterns
abstract
Abstract Pure pattern calculus supports pattern-matching functions in which patterns are first-class citizens that can be passed as parameters, evaluated and returned as results. This new expressive power supports two new forms of polymorphism. Path polymorphism allows recursive functions to traverse arbitrary data structures. Pattern polymorphism allows patterns to be treated as parameters which may be collected from various sources or generated from training data. A general framework for pattern calculi is developed. It supports a proof of confluence that is parameterised by the nature of the matching algorithm, suitable for the pure pattern calculus and all other known pattern calculi.
C. Barry Jay, Delia Kesner
J. Funct. Program.1
2006 Pure Pattern Calculus
C. Barry Jay, Delia Kesner
ESOP1
2004 The pattern calculus
abstract
There is a significant class of operations such as mapping that are common to all data structures. The goal of generic programming is to support these operations on arbitrary data types without having to recode for each new type. The pattern calculus and combinatory type system reach this goal by representing each data structure as a combination of names and a finite set of constructors. These can be used to define generic functions by pattern-matching programs in which each pattern has a different type. Evaluation is type-free. Polymorphism is captured by quantifying over type variables that represent unknown structures. A practical type inference algorithm is provided.
C. Barry Jay
ACM Trans. Program. Lang. Syst.1
2000 Costing parallel programs as a function of shapes
C. Barry Jay
Sci. Comput. Program.1
1999 Partial Evaluation of Shaped Programs: Experience with FISh
C. Barry Jay
PEPM1
1999 Programming in FISh
C. Barry Jay
Int. J. Softw. Tools Technol. Transf.1
1998 The Essence of the Visitor Pattern
abstract
For object-oriented programming, the Visitor pattern enables the definition of a new operation on an object structure without changing the classes of the objects. The price has been that the set of classes must be fixed in advance, and they must each have a so-called accept method. In this paper we demonstrate how to program visitors without relying on accept methods and without knowing all classes of the objects in advance. The idea, derived from related work on shape polymorphism in functional programming, is to separate (1) accessing subobjects, and (2) acting on them. In the object-oriented setting, reflection techniques support access to sub-objects, as demonstrated in our Java class, Walkabout. It supports all visitors as subclasses, and they can be programmed without any further use of reflection. Thus a program using the Visitor pattern can now be understood as a specialized version of a program using the Walkabout class.
Jens Palsberg, C. Barry Jay
COMPSAC2
1998 The Functional Imperative: Shape!
C. Barry Jay, Paul Steckler
ESOP1
1998 Functorial ML
abstract
We present an extension of the Hindley–Milner type system that supports a generous class of type constructors called functors, and provide a parametrically polymorphic algorithm for their mapping, i.e. for applying a function to each datum appearing in a value of constructed type. The algorithm comes from shape theory, which provides a uniform method for locating data within a shape. The resulting system is Church–Rosser and strongly normalizing, and supports type inference. Several different semantics are possible, which affects the choice of constants in the language, and are used to illustrate the relationship to polytypic programming.
C. Barry Jay, Gianna Bellè, Eugenio Moggi
J. Funct. Program.1
1997 A Monadic Calculus for Parallel Costing of a Functional Language of Arrays
C. Barry Jay, Murray Cole, M. Sekanina, Paul Steckler
Euro-Par1
1997 Covariant Types
C. Barry Jay
Theor. Comput. Sci.1
1996 Preface: Theoretical Computer Science in Australia and New Zealand
C. Barry Jay, John Staples
Theor. Comput. Sci.1
1995 The Virtues of Eta-Expansion
abstract
Abstract Interpreting η-conversion as an expansion rule in the simply-typed λ-calculus maintains the confluence of reduction in a richer type structure. This use of expansions is supported by categorical models of reduction, where β-contraction, as the local counit, and η-expansion, as the local unit, are linked by local triangle laws. The latter form reduction loops, but strong normalization (to the long βη-normal forms) can be recovered by ‘cutting’ the loops.
C. Barry Jay, Neil Ghani
J. Funct. Program.1
1995 A Semantics for Shape
C. Barry Jay
Sci. Comput. Program.1
1994 Shapely Types and Shape Polymorphism
C. Barry Jay, J. Robin B. Cockett
ESOP1
1993 Tail Recursion Through Universal Invariants
C. Barry Jay
Theor. Comput. Sci.1