Cat (langage)

Un article de Wikipédia, l'encyclopédie libre.

Cat
Logo.
Date de première version 2006
Paradigme multi-paradigme: langage de pile, fonctionnel
Auteur Christopher Diggins
Développeurs Christopher Diggins et al
Typage statique
Influencé par Joy, Factor
Licences Domaine Public
Site web www.cat-language.comVoir et modifier les données sur Wikidata

Cat est un langage de programmation fonctionnel orienté pile, à typage statique, inspiré par Joy. Joy et Cat diffèrent cependant des autres langages fonctionnels de par leur approche de composition de fonctions plutôt que d'application de fonctions (comme en Scheme ou Haskell).

Cat est un langage polyvalent, plus particulièrement destiné à l'enseignement.

Exemples[modifier | modifier le code]

Définition de la fonction carré :

define square { dup * }

Définition de la fonction factorielle, avec méta-commentaires (description et test unitaire) et signature de type :

define fact : (int -> int)
{{
  desc:
    A factorial function
  tests:
    in: 5 fact
    out: 120
}}
{
  eqz
  [pop 1]
  [dup dec fact mul_int]
  if
}

Liens externes[modifier | modifier le code]