Cat (programovací jazyk)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. prosince 2021; kontroly vyžadují 3 úpravy .
kočka
Jazyková třída Konkatenativní programovací jazyk
Objevil se v 2006 [1]
Autor Christopher Diggins
Uvolnění 1.0 beta 4. ( 16. dubna 2008 )
Typový systém přísný , statický , s odvozením typu
Byl ovlivněn Joy , CIL , Java bytecode , Haskell , Factor , Forth
Licence Licence MIT
webová stránka cat-language.com

Cat  je funkční programovací jazyk založený na zásobníku inspirovaný programovacím jazykem Joy , od kterého se liší tím, že poskytuje statické typování s odvozením typu (jako například v ML a Haskell ). Toto je jeden z přístupů k řešení problému spolehlivosti, který existuje u zásobníkových jazyků [2] Zahrnuje také makrojazyk MetaCat [3] , který umožňuje rozšířit jazyk Cat předefinováním pojmů.

Cat byl navržen jako středně pokročilý jazyk na vysoké úrovni, který lze také použít jako samostatný jazyk pro vývoj jednoduchých aplikací. Vyplňuje tedy mezeru podobnou PostScriptu . Dalším účelem tohoto jazyka je naučit základní koncepty programování.


Příklady

Fibonacciho čísla fib { dup1 <= [] [dup 1 - fib swap 2 - fib +] -li } jeden [dup fib write ", "write inc] [dup 16 lteq] zatímco "..." napsáno Faktorový definovat fakta { dup1 <= [pop 1] [dup 1 - fakt*] -li } 0 [dup write "!= " write dup fact writeln inc] [dup 16 lteq] zatímco

Implementace

Základní implementací Cat je interpret [4] napsaný v C# a kompilátor kódu CIL . Dostupné jsou také interprety Cat napsané ve schématu [5] , JavaScriptu [6] , Pythonu [7] , Haskell [8] , Ωmega9] Standard ML [10 ]

Christopher Diggins v současné době pracuje na projektu cvml (Chickadee Virtual Machine Language) [11] napsaném v C++ virtuálním strojem .

Poznámky

  1. The Cat Programming Language Archived 20. června 2010 na Wayback Machine , Lambda the Ultimate
  2. Faktor: dynamický zásobníkový programovací jazyk Archivováno 26. července 2011 na Wayback Machine  od  Slavy Pestova, Daniela Ehrenberga, Joe Groffa. Dynamic Languages ​​​​Symposium 2010 Archivováno 18. dubna 2011 na Wayback Machine , viz Související práce
  3. Metacat . Staženo 31. 5. 2015. Archivováno z originálu 31. 5. 2015.
  4. Cat – staticky typovaný tlumočník programovacího jazyka v C# Archivováno 13. listopadu 2011 na Wayback Machine , Christopher Diggins, 4. listopadu 2006, The Code Project
  5. scheme-cat Archivováno 24. července 2010 na Wayback Machine  - samostatný projekt pro vložení Cat in Scheme od Bena Chamberse
  6. Online tlumočník koček Archivováno 15. června 2011.
  7. Cat in Python Archivováno 21. srpna 2011 na Wayback Machine  - implementace Andrew Nelis
  8. Cat in Haskell Archivováno 13. června 2012 na Wayback Machine
    na základě: Techniky pro vkládání jazyků Postfix ​​do Haskellu od Chrise Okasakiho. Haskell Workshop, říjen 2002, strany 105-113. Archivováno 20. července 2011 na Wayback Machine + zdrojový kód Archivováno 20. července 2011 na Wayback Machine
  9. Interpret koček v Omeze pomocí thrists (seznamy vláken) od Gabora Greifa Archivováno 19. prosince 2013.
  10. Zadali callcc v jazyce založeném na zásobníku . Získáno 1. června 2011. Archivováno z originálu 17. prosince 2010.
  11. cvml Archivováno 4. května 2013 na Wayback Machine na Google Code

Literatura

Odkazy