La alegría y el gato diferencian de la mayoría de las idiomas funcionales (e.g Esquema, Haskell) y formalismos de la lengua (e.g. cálculo de la lambda, lógica combinatoria) en éste se basa en composición de funciones más bien que uso de la función. El gato y la alegría ambos llevan más semejanza al calculio combinatorio de la lógica
El gato se piensa como lenguaje multiusos con un énfasis en uso como lengua intermedia y como lengua educativa
Como alegría, los programas en gato se construyen de programas existentes usando dos operaciones: composición y cita Todos los programas del gato se pueden pensar en como funciones que mapa a partir de un apilado a otro. Porque el gato no tiene ninguna operación que refiera a estados anteriores del apilado, el gato puede ser puesto en ejecución fácilmente usando un solo apilado compartido mutable
Dos términos adyacentes en Cat implica la composición de las funciones generan las pilas para que el programa del gato fg es equivalente a las expresiones matematicas g o f y g(f(x))donde x es la pila de a entrada a la expresión
Porque todo el gato funciona mapa a partir de un apilado a otro, cuál es más informativo es el número y el tipo de valores que hagan estallar y empujen sobre el apilado compartido durante la ejecución. Esto se conoce respectivamente como la consumición y la producción de una función. Al discutir una función del gato, los valores consumidos a menudo se llaman la discusión, y los valores producidos a menudo se llaman la producción.
Ejemplo
Considere una función de Fibonacci que en Python se puede definir de forma recursive como:
def fib(n): if n <= 1: return n else: return fib(n-1) + fib(n-2)
def fib(n): if n <= 1: return n else: return fib(n-1) + fib(n-2)
Una aplicación similar de la función de Fibonacci en Cat siguiente:
define fib { dup 1 <= [] [dup 1 - fib swap 2 - fib +] if }
define fib { dup 1 <= [] [dup 1 - fib swap 2 - fib +] if }
Si tinen alguna duda referente a este lenguaje de programación les recomiendo estas pag:=2&eotf=1&sl=en&tl=es&u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCat_%28programming_language%29
Lengujes de Programacion
Dra.Sara
Yajaira Ulloa Mat.1464754
Considere una función de Fibonacci que en Python se puede definir de forma recursive como: def fib(n): if n <= 1: return n else: return fib(n-1) + fib(n-2)def fib(n): if n <= 1: return n else: return fib(n-1) + fib(n-2) define fib { dup 1 <= [] [dup 1 - fib swap 2 - fib +] if } define fib { dup 1 <= [] [dup 1 - fib swap 2 - fib +] if } Si tinen alguna duda referente a este lenguaje de programación les recomiendo estas pag:=2&eotf=1&sl=en&tl=es&u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCat_%28programming_language%29
Lengujes de Programacion 

