Cat (linguagem de programação)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou secção não cita fontes confiáveis e independentes, o que compromete sua credibilidade (desde julho de 2008). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)
Disambig grey.svg Nota: Se procura o utilitário do Unix para concatenação, veja cat (Unix).
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

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 | editar código-fonte]

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 | editar código-fonte]

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 | editar código-fonte]

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.