2003 | OriginalPaper | Chapter
A Game Semantics for Generic Polymorphism
Authors : Samson Abramsky, Radha Jagadeesan
Published in: Foundations of Software Science and Computation Structures
Publisher: Springer Berlin Heidelberg
Included in: Professional Book Archive
Activate our intelligent search to find suitable subject content or patents.
Select sections of text to find matching patents with Artificial Intelligence. powered by
Select sections of text to find additional relevant content using AI-assisted search. powered by
Genericity is the idea that the same program can work at many different data types.Longo,Milsted and Soloviev proposed to capture the inability of generic programs to probe the structure of their instances by the following equational principle:if two generic programs, viewed as terms of type.∀X.A [X ],are equal at any given instance A [T ], then they are equal at all instances.They proved that this rule is admissible in a certain extension of System F,but finding a semantically motivated model satisfying this principle remained an open problem. In the present paper,we construct a categorical model of polymorphism, based on game semantics,which contains a large collection of generic types.This model builds on two novel constructions: - A direct interpretation of variable types as games,with a natural notion of substitution of games.This allows moves in games A [T ]to be decomposed into the generic part from A ,and the part pertaining to the instance T .This leads to a simple and natural notion of generic strategy. - A “relative polymorphic product”πi(A,B)which expresses quantification over the type variable Xi in the variable type A with respect to a “universe” which is explicitly given as an additional parameter B .We then solve a recursive equation involving this relative product to obtain a universe in a suitably “absolute” sense.Full Completeness for ML types (universal closures of quantifier-free types)can be proved for this model.