Cat (linguagem de programação)
{{#set:Bad content=Ciência }}
Cat | |
---|---|
Paradigma | Abstração de dados, Programação funcional, Orientação à pilha |
Surgido em | 2006 |
Última versão | 1.0 (abril de 2008) |
Criado por | Christopher Diggins |
Influenciada por | CIL, Factor, Forth, Haskell, Bytecode Java, Joy |
Licença: | Domínio público |
Página oficial | www.cat-language.com |
Erro Lua em Módulo:Categorização_AD_e_AB_de_outras_wikis na linha 173: attempt to index field 'wikibase' (a nil value).
Cat é uma linguagem de programação funcional, orientada a pilha, inspirada na linguagem Joy. A especificação da linguagem está sob domínio público, mas sua implementação oficial primária está sob a licença MIT, e foi escrita em C#. Há uma segunda implementação oficial, escrita em JavaScript e está sob domínio público. Há diversas outras implementações, escritas em outras linguagens.
Características[editar]
Joy e Cat diferem da maioria das linguagens funcionais, como Scheme e Haskell, e linguagens formais como o Cálculo Lamda, uma vez que elas se baseiam na composição de funções e não na aplicação de funções.
A linguagem foi criada em 2006 por Chrispher Diggins. É educacional, sendo projetada para ser tipada estaticamente. Por consequência, é menos flexível que a linguagem Joy, mas é mais que segura.
Exemplo[editar]
Vamos dar um exemplo de sintaxe. Em Python, uma função definida recursivamente para o Fibonacci seria:
def fib(n):
if n <= 1:
return n
else:
return fib(n-1) + fib(n-2)
Uma implementação similar da função Fibonacci em linguagem Cat seria:
define fib {
dup 1 <=
[]
[dup 1 - fib swap 2 - fib +]
if
}
Ver também[editar]
Ligações externas[editar]
- Sítio oficial (em inglês)
- Especificação de Cat (sob domínio público) (em inglês)
- Implementação oficial em C# (sob licença MIT) (em inglês)
- Implementação oficial em JavaScript (sob domínio público) (em inglês)
- Implementação em Scheme (sob licença MIT) (em inglês)
- Implementação em Python (sob domínio público) (em inglês)
Erro Lua em Módulo:Categorização_AD_e_AB_de_outras_wikis na linha 173: attempt to index field 'wikibase' (a nil value).
Este artigo "Cat (linguagem de programação)" é da wikipedia The list of its authors can be seen in its historical and/or the page Edithistory:Cat (linguagem de programação).