Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
Computational category theory
Proccedings of the 375th Anniversary of the Groningen University on Mathematics of Program Construction
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Data structures and program transformation
Science of Computer Programming
Notions of computation and monads
Information and Computation
Basic category theory for computer scientists
Basic category theory for computer scientists
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Categories and computer science
Categories and computer science
Algebra of programming
Towards an applied mathematics for computer science
Current and future directions in applied mathematics
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Fold and unfold for program semantics
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
Semantics of the Domain of Flow Diagrams
Journal of the ACM (JACM)
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Mathematics of Program Construction: Proceedings of the 2nd International Conference, Oxford, U. K., June-July 1992
Introduction to Functional Programming
Introduction to Functional Programming
Proceedings of the Mathematics of Program Construction
MPC '98 Proceedings of the Mathematics of Program Construction
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Proceedings of the IFIP TC2/WG 2.1 State-of-the-Art Report on Formal Program Development
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
A Typed Lambda Calculus with Categorical Type Constructors
Category Theory and Computer Science
Monads and Comonads in Intensional Semantics
Monads and Comonads in Intensional Semantics
A categorical programming language
A categorical programming language
Chapter II: Notes on data structuring
Structured programming
TypeCase: a design pattern for type-indexed functions
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Metamorphisms: Streaming representation-changers
Science of Computer Programming
Strongly Typed Rewriting For Coupled Software Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Google's MapReduce programming model — Revisited
Science of Computer Programming
Google's MapReduce programming model – Revisited
Science of Computer Programming
The essence of the iterator pattern
Journal of Functional Programming
Algebraic Specialization of Generic Functions for Recursive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Recursion schemes for dynamic programming
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Program fusion with paramorphisms
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
The Essence of the Iterator Pattern
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
A shortcut fusion approach to accumulations
Science of Computer Programming
Hi-index | 0.00 |
Functional programs are merely equations; they may be manipulated by straightforward equational reasoning. In particular, one can use this style of reasoning to calculate programs, in the same way that one calculates numeric values in arithmetic. Many useful theorems for such reasoning derive from an algebraic view of programs, built around datatypes and their operations. Traditional algebraic methods concentrate on initial algebras, constructors, and values; dual co-algebraic methods concentrate on final co-algebras, destructors, and processes. Both methods are elegant and powerful; they deserve to be combined.