Sign in
Advanced Search
Author
|
Conference
|
Journal
|
Organization
|
Year
|
DOI
Look for results that meet for the following criteria:
since
equal to
before
between
and
Search in all fields of study
Limit my searches in the following fields of study
Agriculture Science
Arts & Humanities
Biology
Chemistry
Computer Science
Economics & Business
Engineering
Environmental Sciences
Geosciences
Material Science
Mathematics
Medicine
Physics
Social Science
Multidisciplinary
Keywords
(3)
Data Type
Functional Programming
Recursion Operator
Related Publications
(57)
Data Structures and Program Transformation
Algebraic data types and program transformation
An introduction to the theory of lists
A fold for all seasons
The Under-Appreciated Unfold
Subscribe
Academic
Publications
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire,10.1007/3540543961_7,Erik Meijer,Maarten M. Fokkinga,Ross Paterson,J. Hughes
Edit
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
(
Citations: 329
)
BibTex
|
RIS
|
RefWorks
Download
Erik Meijer
,
Maarten M. Fokkinga
,
Ross Paterson
,
J. Hughes
We develop a calculus for lazy
functional programming
based on recursion operators associated with
data type
definitions. For these operators we derive various algebraic laws that are useful in deriving and manipulating programs. We shall show that all example Functions in Bird and Wadler's "Introduction to Functional Programming" can be expressed using these operators.
Conference:
Functional Programming Languages and Computer Architecture - FPCA
, pp. 124-144, 1991
DOI:
10.1007/3540543961_7
Cumulative
Annual
View Publication
The following links allow you to view full publications. These links are maintained by other sources not affiliated with Microsoft Academic Search.
(
www.springerlink.com
)
(
www.springerlink.com
)
(
www.informatik.uni-trier.de
)
(
doc.utwente.nl
)
More »
Citation Context
(163)
...We show that several important lenses on lists—including mapping—can be defined with the help of a fold, and that, due to the self-duality of lenses, folds can be composed back-to-back to yield general recursive patterns in the style of hylomorphisms [
24
]...
...This gives us a lens version of the hylomorphism pattern from functional programming [
24
]...
Martin Hofmann
,
et al.
Symmetric lenses
...This notation is intentionally borrowed from the functional programming notation for such operators [
14
]...
Andy Gill
,
et al.
Using functional programming to generate an LDPC forward error correct...
...5 folds and unfolds are sometimes referred to as catamorphisms and anamorphisms, while the composition fold unfold is referred to as a hylomorphism [
12
]...
Anthony Cowley
,
et al.
Stream-oriented robotics programming: The design of roshask
...We present a decision procedure for reasoning about recursive data types with user-defined abstraction functions, expressed as a fold over trees, or a catamorphisms [
42
], over algebraic data types...
...We require the abstraction function to be a catamorphism (generalized fold) [
42
]...
Philippe Suter
,
et al.
Decision Procedures for Algebraic Data Types with Abstractions
...In the research field of functional programming, the category theoretic concept of morphisms between data types and their specific properties have already been investigated very well to describe certain recursion patterns.Backhouse et al. introduce them in the context of generic programming [1], [
14
] Meijer et al., for example, have described several morphisms on inductive data types [14], Hutton gives a good tutorial on fold [8], and ...
...In the research field of functional programming, the category theoretic concept of morphisms between data types and their specific properties have already been investigated very well to describe certain recursion patterns.Backhouse et al. introduce them in the context of generic programming [1], [14] Meijer et al., for example, have described several morphisms on inductive data types [
14
], Hutton gives a good tutorial on fold [8], and ...
...Furthermore, other morphisms with universal properties suggest for additional higher-order schemes, as e.g., anamorphisms as the dual to catamorphisms, as well as hylo- or paramorphisms as presented by Meijer et al. [
14
]...
Martin Hofmann
,
et al.
I/O guided detection of list catamorphisms: towards problem specific u...
References
(23)
Comprehending Monads
(
Citations: 265
)
Philip Wadler
Journal:
Mathematical Structures in Computer Science - MSCS
, vol. 2, no. 4, pp. 461-493, 1992
Theorems for free!
(
Citations: 344
)
Philip Wadler
Conference:
Functional Programming Languages and Computer Architecture - FPCA
, pp. 347-359, 1989
Comprehending monads
(
Citations: 404
)
Philip Wadler
Conference:
ACM Conference on LISP and Functional Programming - LFP
, pp. 61-78, 1990
Retractions in comparing PROLOG semantics
(
Citations: 3
)
A. de Bruin
,
E. P. de Vink
Published in 1989.
Program Calculation Properties of Continuous Algebras
(
Citations: 32
)
Maarten M. Fokkinga
,
Erik Meijery
Journal:
Automatica
, 1991
Sort by:
Citations
(329)
Symmetric lenses
(
Citations: 2
)
Martin Hofmann
,
Benjamin Pierce
,
Daniel Wagner
Journal:
Sigplan Notices - SIGPLAN
, pp. 371-384, 2011
Using functional programming to generate an LDPC forward error corrector
Andy Gill
,
Tristan Bull
,
Daniel DePardo
,
Andrew Farmer
,
Ed Komp
,
Erik Perrins
Published in 2011.
Stream-oriented robotics programming: The design of roshask
Anthony Cowley
,
Camillo J. Taylor
Conference:
International Conference on Intelligent RObots and Systems - IROS - IROS
, pp. 1048-1054, 2011
Decision Procedures for Algebraic Data Types with Abstractions
(
Citations: 9
)
Philippe Suter
,
Mirco Dotta
,
Viktor Kuncak
Conference:
ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL
, pp. 199-210, 2010
I/O guided detection of list catamorphisms: towards problem specific use of program templates in IP
(
Citations: 3
)
Martin Hofmann
,
Emanuel Kitzelmann
Conference:
Partial Evaluation and Semantic-Based Program Manipulation - PEPM
, pp. 93-100, 2010