Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
An ideal model for recursive polymorphic types
Information and Control
Proofs and types
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Category theory for computing science
Category theory for computing science
A simple semantics for ML polymorphism
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the type structure of standard ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Haskell school of expression: learning functional programming through multimedia
The Haskell school of expression: learning functional programming through multimedia
The Haskell: The Craft of Functional Programming
The Haskell: The Craft of Functional Programming
The Definition of Standard ML
Keep it clean: a unique approach to functional programming.
ACM SIGPLAN Notices
Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Theorem Proving for Functional Programmers
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Fine Control of Demand in Haskell
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
A study of semantics, types and languages for databases and object-oriented programming
A study of semantics, types and languages for databases and object-oriented programming
A static semantics for Haskell
Journal of Functional Programming
Verifying haskell programs using constructive type theory
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Running the manual: an approach to high-assurance microkernel development
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Selective strictness and parametricity in structural operational semantics, inequationally
Theoretical Computer Science
Secure Microkernels, State Monads and Scalable Refinement
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Embedding a logical theory of constructions in Agda
Proceedings of the 3rd workshop on Programming languages meets program verification
HasCasl: Integrated higher-order specification and program development
Theoretical Computer Science
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
A simple semantics for polymorphic recursion
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Bimonadic semantics for basic pattern matching calculi
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Combining interactive and automatic reasoning in first order theories of functional programs
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
Hi-index | 0.00 |
Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or “non-strict” semantics can be quite difficult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haskell pattern-matching as a logic, thereby simplifying the task of specifying and verifying Haskell programs. In p-logic, aspects of demand are reflected or represented within both the predicate language and its model theory, allowing for expressive and comprehensible program verification.