Category:Cat: Difference between revisions

From Rosetta Code
Content added Content deleted
(Created page with '{{language |site=http://www.cat-language.com/ }} Cat is a functional stack-based programming language inspired by the [Joy] programming language. Cat provides a static type syste…')
 
No edit summary
Line 2: Line 2:
|site=http://www.cat-language.com/
|site=http://www.cat-language.com/
}}
}}
Cat is a functional stack-based programming language inspired by the [Joy] programming language. Cat provides a static type system with type inferencing (like [ML] or [Haskell]), and a term rewriting macro language extension language called MetaCat. Cat uses static typing, and is somewhat less flexibility but safer than Joy.
Cat is a functional stack-based programming language inspired by the [[Joy]] programming language. Cat provides a static type system with type inferencing (like [[ML]] or [[Haskell]]), and a term rewriting macro language extension language called MetaCat. Cat uses static typing, and is somewhat less flexibility but safer than Joy.


All constructs in Cat (atomic programs, user defined programs, operators, literals, lists) behave as functions which takes a single stack as input and returns a new stack. In Cat the concatenation of two functions (e.g. [f g]) has the effect of composition of both functions (e.g. g(f(x))). All new user defined functions are defined as lists of functions. Cat not only has no variable declaration, there are no argument declarations. Cat also lends itself to the higher order functional programming: the lambda operation in Cat is the list construction operator "[...]" and currying can be achieved used basic operations such as "cons".
All constructs in Cat (atomic programs, user defined programs, operators, literals, lists) behave as functions which takes a single stack as input and returns a new stack. In Cat the concatenation of two functions (e.g. [f g]) has the effect of composition of both functions (e.g. g(f(x))). All new user defined functions are defined as lists of functions. Cat not only has no variable declaration, there are no argument declarations. Cat also lends itself to the higher order functional programming: the lambda operation in Cat is the list construction operator "[...]" and currying can be achieved used basic operations such as "cons".

Revision as of 00:43, 27 July 2010

Language
Cat
This programming language may be used to instruct a computer to perform a task.
Official website
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using Cat.

Cat is a functional stack-based programming language inspired by the Joy programming language. Cat provides a static type system with type inferencing (like ML or Haskell), and a term rewriting macro language extension language called MetaCat. Cat uses static typing, and is somewhat less flexibility but safer than Joy.

All constructs in Cat (atomic programs, user defined programs, operators, literals, lists) behave as functions which takes a single stack as input and returns a new stack. In Cat the concatenation of two functions (e.g. [f g]) has the effect of composition of both functions (e.g. g(f(x))). All new user defined functions are defined as lists of functions. Cat not only has no variable declaration, there are no argument declarations. Cat also lends itself to the higher order functional programming: the lambda operation in Cat is the list construction operator "[...]" and currying can be achieved used basic operations such as "cons".

See Also

Cat (programming language)

Subcategories

This category has the following 3 subcategories, out of 3 total.

Pages in category "Cat"

The following 3 pages are in this category, out of 3 total.