Pipe-calculus: Difference between revisions

no edit summary
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.  
'''Pipe-calculus''' is a universal model of computation that is closely related to [[Wikipedia:process_calculus|process calculus]], [[Wikipedia:lambda_calculus|lambda calculus]] and [[Wikipedia:Formal_grammar|formal grammars]], joining a tradition that studies computation hand in hand with formal languages and automata theory<ref>[[Wikipedia:Introduction_to_Automata_Theory,_Languages,_and_Computation|Introduction to Automata Theory, Languages, and Computation]]</ref>.  
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.
Its distinctive feature is the inclusion of syntactic primitives, so it is possible to express program structure and data types 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.
Pure pipe-calculus is untyped. Construction of a [[ideas_for_a_type_system|type system]] is an ongoing effort, 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.
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 various typed or untyped programming languages.
Its characteristic features like I/O and stream orientation make pipe-calculus a suitable choice for scripting languages.  
Its characteristic features like I/O and stream orientation make pipe-calculus a suitable choice even 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;">
283

edits