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

Alain Frisch

dblp:54/4381 · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
0since 2021 · last 2009
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 1 first-authorTheory of computation · 4 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author

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
5 papers
Programming languages and type systems · 100%
Theoretical computer science
1 paper
Algorithms and data structures · 50% Algorithmic game theory and mechanism design · 50%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
type systems
0.352009
Parametric polymorphism for XML · ACM Trans. Program. Lang. Syst. 2009
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types · J. ACM 2008
Parametric polymorphism for XML · POPL 2005
Programming languages and type systems › type systems
subtyping
0.232009
Parametric polymorphism for XML · ACM Trans. Program. Lang. Syst. 2009
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types · J. ACM 2008
Semantic Subtyping · LICS 2002
Programming languages and type systems › type systems › subtyping
semantic subtyping
0.232008
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types · J. ACM 2008
A Gentle Introduction to Semantic Subtyping · ICALP 2005
Semantic Subtyping · LICS 2002
Programming languages and type systems › type systems › polymorphism
parametric polymorphism
0.122009
Parametric polymorphism for XML · ACM Trans. Program. Lang. Syst. 2009
Parametric polymorphism for XML · POPL 2005
Programming languages and type systems › type systems
XML type systems
0.122009
Parametric polymorphism for XML · ACM Trans. Program. Lang. Syst. 2009
Parametric polymorphism for XML · POPL 2005
Programming languages and type systems
type inference
0.122009
Parametric polymorphism for XML · POPL 2005
Parametric polymorphism for XML · ACM Trans. Program. Lang. Syst. 2009
Programming languages and type systems › method dispatch
dynamic dispatch
0.112008
Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types · J. ACM 2008
Algorithmic game theory and mechanism design › matching › algorithmic matching
greedy matching
0.012004
Greedy Regular Expression Matching · ICALP 2004
Algorithms and data structures › sequence algorithms › string algorithms › string matching
regular expression matching
0.012004
Greedy Regular Expression Matching · ICALP 2004

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

denotational semantics · 0.1semantic subtyping · 0.1marking technique · 0.1set-theoretic semantics · 0.1type theory · 0.1set-theoretic models · 0.0
YearPublicationVenuePosition
2009 Parametric polymorphism for XML
abstract
Despite the extensiveness of recent investigations on static typing for XML, parametric polymorphism has rarely been treated. This well-established typing discipline can also be useful in XML processing in particular for programs involving “parametric schemas,” that is, schemas parameterized over other schemas (e.g., SOAP). The difficulty in treating polymorphism for XML lies in how to extend the “semantic” approach used in the mainstream (monomorphic) XML type systems. A naive extension would be “semantic” quantification over all substitutions for type variables. However, this approach reduces to an NEXPTIME-complete problem for which no practical algorithm is known and induces a subtyping relation that may not always match the programmer's intuition. In this article, we propose a different method that smoothly extends the semantic approach yet is algorithmically easier. The key idea here is to devise a novel and simplemarkingtechnique, where we interpret a polymorphic type as a set of values with annotations of which subparts are parameterized. We exploit this interpretation in every ingredient of our polymorphic type system such as subtyping, inference of type arguments, etc. As a result, we achieve a sensible system that directly represents a usual expected behavior of polymorphic type systems—“values of abstract types are never reconstructed”—in a reminiscence of Reynold's parametricity theory. Also, we obtain a set of practical algorithms for typechecking by local modifications to existing ones for a monomorphic system.
Haruo Hosoya, Alain Frisch, Giuseppe Castagna
ACM Trans. Program. Lang. Syst.2
2008 Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types
abstract
Subtyping relations are usually defined either syntactically by a formal system or semantically by an interpretation of types into an untyped denotational model. This work shows how to define a subtyping relation semantically in the presence of Boolean connectives, functional types and dynamic dispatch on types, without the complexity of denotational models, and how to derive a complete subtyping algorithm.
Alain Frisch, Giuseppe Castagna, Véronique Benzaken
J. ACM1
2006 OCaml + XDuce
abstract
This paper presents the core type system and type inference algorithm of OCamlDuce, a merger between OCaml and XDuce. The challenge was to combine two type checkers of very different natures while preserving the best properties of both (principality and automatic type reconstruction on one side; very precise types and implicit subtyping on the other side). Type inference can be described by two successive passes: the first one is an ML-like unification-based algorithm which also extracts data flow constraints about XML values; the second one is an XDuce-like algorithm which computes XML types in a direct way. An optional preprocessing pass, called strengthening, can be added to allow more implicit use of XML subtyping. This pass is also very similar to an ML type checker.
Alain Frisch
ICFP1
2005 A Gentle Introduction to Semantic Subtyping
Giuseppe Castagna, Alain Frisch
ICALP2
2005 Parametric polymorphism for XML
abstract
Despite the extensiveness of recent investigations on static typing for XML, parametric polymorphism has rarely been treated. This well-established typing discipline can also be useful in XML processing in particular for programs involving "parametric schemas," i.e., schemas parameterized over other schemas (e.g., SOAP). The difficulty in treating polymorphism for XML lies in how to extend the "semantic" approach used in the mainstream (monomorphic) XML type systems. A naive extension would be "semantic" quantification over all substitutions for type variables. However, this approach reduces to an NEXPTIME-complete problem for which no practical algorithm is known. In this paper, we propose a different method that smoothly extends the semantic approach yet is algorithmically easier. In this, we devise a novel and simple marking technique, where we interpret a polymorphic type as a set of values with annotations of which subparts are parameterized. We exploit this interpretation in every ingredient of our polymorphic type system such as subtyping, inference of type arguments, and so on. As a result, we achieve a sensible system that directly represents a usual expected behavior of polymorphic type systems---"values of variable types are never reconstructed"---in a reminiscence of Reynold's parametricity theory. Also, we obtain a set of practical algorithms for typechecking by local modifications to existing ones for a monomorphic system.
Haruo Hosoya, Alain Frisch, Giuseppe Castagna
POPL2
2005 A gentle introduction to semantic subtyping
abstract
Subtyping relations are usually defined either syntactically by a formal system or semantically by an interpretation of types into an untyped denotational model. In this work we show step by step how to define a subtyping relation semantically in the presence of functional types and dynamic dispatch on types, without the complexity of denotational models, and how to derive a complete subtyping algorithm. It also provides a recipe to add set-theoretic union, intersection, and negation types to your favourite language.The presentation is voluntarily kept informal and discursive and the technical details are reduced to a minimum since we rather insist on the motivations, the intuition, and the guidelines to apply the approach.
Giuseppe Castagna, Alain Frisch
PPDP2
2004 Greedy Regular Expression Matching
Alain Frisch, Luca Cardelli
ICALP1
2003 CDuce: an XML-centric general-purpose language
abstract
We present the functional language CDuce, discuss some design issues, and show its adequacy for working with XML documents. Distinctive features of CDuce are a powerful pattern matching, first class functions, overloaded functions, a very rich type system (arrows, sequences, pairs, records, intersections, unions, differences), precise type inference for patterns and error localization, and a natural interpretation of types as sets of values. We also outline some important implementation issues; in particular, a dispatch algorithm that demonstrates how static type information can be used to obtain very efficient compilation schemas..
Véronique Benzaken, Giuseppe Castagna, Alain Frisch
ICFP3
2002 Semantic Subtyping
abstract
Usually subtyping relations are defined either syntactically by a formal system or semantically by an interpretation of types in an untyped denotational model. In this paper we show how to define a subtyping relation semantically, for a language whose operational semantics is driven by types; we consider a rich type algebra, with product, arrow, recursive, intersection, union and complement types. Our approach is to "bootstrap" the subtyping relation through a notion of set-theoretic model of the type algebra. The advantages of the semantic approach are manifold. Foremost we get "for free" many properties (e.g., the transitivity of subtyping) that, with axiomatized subtyping, would require tedious and error prone proofs. Equally important is that the semantic approach allows one to derive complete algorithms for the subtyping relation or the propagation of types through patterns. As the subtyping relation has a natural (inasmuch as semantic) interpretation, the type system can give informative error messages when static type-checking fails. Last but not least the approach has an immediate impact in the definition and the implementation of languages manipulating XML documents, as this was our original motivation.
Alain Frisch, Giuseppe Castagna, Véronique Benzaken
LICS1