Program verification in a logical theory of construction
Proc. of a conference on Functional programming languages and computer architecture
Metasoft primer: towards a metalanguage for applied denotational semantics
Metasoft primer: towards a metalanguage for applied denotational semantics
An intensional characterization of the largest bisimulation
Theoretical Computer Science
A note on inconsistencies caused by fixpoints in a Cartesian closed category
Theoretical Computer Science
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Algebra of programming
Representing inductively defined sets by wellorderings in Martin-Löf's type theory
Theoretical Computer Science
The generic approximation lemma
Information Processing Letters
The Definition of Standard ML
A Discipline of Programming
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Elementary Strong Functional Programming
FPLE '95 Proceedings of the First International Symposium on Functional Programming Languages in Education
CPO's do not form a CPO, and yet Recursion Works
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume I: Conference Contributions - Volume I
Ordered sets and complete lattices: a primer for computer science
Algebraic and coalgebraic methods in the mathematics of program construction
Free theorems in the presence of seq
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Containers: constructing strictly positive types
Theoretical Computer Science - Applied semantics: Selected topics
Running the manual: an approach to high-assurance microkernel development
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
A shortcut fusion rule for circular program calculation
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Selective strictness and parametricity in structural operational semantics, inequationally
Theoretical Computer Science
Proving correctness via free theorems: the case of the destroy/build-rule
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Much ado about two (pearl): a pearl on parallel prefix computation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proving Properties of Lazy Functional Programs with Sparkle
Central European Functional Programming School
Bidirectionalization for free! (Pearl)
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Free theorems involving type constructor classes: functional pearl
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Parametric (co)iteration vs. primitive direcursion
CALCO'07 Proceedings of the 2nd international conference on Algebra and coalgebra in computer science
Parametricity, type equality, and higher-order polymorphism
Journal of Functional Programming
Factorising folds for faster functions
Journal of Functional Programming
Modularity and Implementation of Mathematical Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
A foundation for GADTs and inductive families: dependent polynomial functor approach
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
Testing polymorphic properties
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Trends in Trends in Functional Programming 1999/2000 versus 2007/2008
Higher-Order and Symbolic Computation
Shortcut fusion rules for the derivation of circular and higher-order programs
Higher-Order and Symbolic Computation
A pattern for almost homomorphic functions
Proceedings of the 8th ACM SIGPLAN workshop on Generic programming
Proceedings of the 2012 Haskell Symposium
Fixing idioms: a recursion primitive for applicative DSLs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Synchronous digital circuits as functional programs
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Functional programmers often reason about programs as if they were written in a total language, expecting the results to carry over to non-total (partial) languages. We justify such reasoning.Two languages are defined, one total and one partial, with identical syntax. The semantics of the partial language includes partial and infinite values, and all types are lifted, including the function spaces. A partial equivalence relation (PER) is then defined, the domain of which is the total subset of the partial language. For types not containing function spaces the PER relates equal values, and functions are related if they map related values to related values.It is proved that if two closed terms have the same semantics in the total language, then they have related semantics in the partial language. It is also shown that the PER gives rise to a bicartesian closed category which can be used to reason about values in the domain of the relation.