Pipe-calculus: Difference between revisions

no edit summary
No edit summary
Line 1: Line 1:
Pipe-calculus is a core calculus for programming.
Pipe-calculus is a core calculus for programming.


== Overview ==
== Overview ==


=== Motivation ===
=== Motivation and brief story ===
 
Development of pipe-calculus stemmed from the author's conviction that syntax should be a first class element of programming languages the same way as formation rules are integral part of logical calculi. A language that complies with this principle is able to recognize the syntax of input data without using a parser library. Pipe-calculus is a very minimal language with this property.
 
The first attempt to construct such a language resulted in a logical system, which is referred to as ''well-typed parsing''.
 


Development of pipe-calculus stemmed from the author's conviction that syntax should be a first class element of programming languages the same way as formation rules are integral part of logical systems. A language that complies with this principle is able to recognize the syntax of input data without using a parser library. Pipe-calculus is a very minimal language with this property.


The first attempt to implement this idea resulted in a logical system which is referred to as ''well-typed parsing''. The author's interest in interpreters and process calculus led him to the realization that well-typed parsing can be translated to a calculus that uses combinators instead of introduction and elimination rules. Indeed the idea of the ''pipe'' combinator comes from shell scripting.


=== Variants ===
=== Variants ===
283

edits