Pipe-calculus: Difference between revisions

no edit summary
No edit summary
Line 1: Line 1:
Pipe-calculus is a universal model of computation that is closely related to [[wikipedia:process_calculus|process calculus]], [[wikipedia:lambda_calculus|lambda calculus]] and formal language theory. It is sufficiently expressive to be used as a programming language on its own. With added [[Syntax_sugar_(Pipe-calculus)|syntax sugar]] it can be the basis of dynamically or statically [[ideas_for_a_type_system|typed]] high level programming languages.
'''Pipe-calculus''' is a universal model of computation that is closely related to [[wikipedia:process_calculus|process calculus]], [[wikipedia:lambda_calculus|lambda calculus]] and formal language theory.  
Its distinctive feature is the inclusion of syntactic primitives, so it is possible to express rich data types and data processing algorithms using only the built-in constructors.
 
Pure pipe-calculus is untyped, but construction of a [[ideas_for_a_type_system|type system]] is a primary goal, placing the focus on well-typed communication of programs.
 
Although the core calculus is sufficiently expressive to be used as a programming language, with added [[Syntax_sugar_(Pipe-calculus)|syntax sugar]] it can be the basis of typed or untyped high level programming languages with more familiar syntax.
Its characteristic features like I/O and stream orientation make pipe-calculus a suitable choice for scripting languages.  


<div style="background-color: #f4f4f4; border: 1px solid #e8e8e8; padding: 0.3em 0.7em 0.3em 0.7em;">
<div style="background-color: #f4f4f4; border: 1px solid #e8e8e8; padding: 0.3em 0.7em 0.3em 0.7em;">
'''Note:''' Pipe-calculus is work in progress. This wiki page reflects my current understanding and details may very well change over time.</div>
'''Note:''' Pipe-calculus is a work in progress. This wiki page reflects the current status of the project and details may well change over time.</div>


== Overview ==
== Overview ==
283

edits