Journal article icon

Journal article

Fast and loose reasoning is morally correct

Abstract:
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. Copyright © 2006 ACM.

Actions


Access Document


Publisher copy:
10.1145/1111320.1111056

Authors



Journal:
ACM SIGPLAN Notices More from this journal
Volume:
41
Issue:
1
Pages:
206-217
Publication date:
2006-01-01
DOI:
EISSN:
0362-1340
ISSN:
0362-1340


Language:
English
Keywords:
Pubs id:
pubs:163514
UUID:
uuid:a1e2de9a-f49f-4ed6-b4a1-320d93a68239
Local pid:
pubs:163514
Source identifiers:
163514
Deposit date:
2012-12-20

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP