Cat (programozási nyelv)

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. december 25-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
macska
Nyelvóra Konkatenatív programozási nyelv
Megjelent 2006 [1]
Szerző Christopher Diggins
Kiadás 1.0 béta 4. ( 2008. április 16. )
Típusrendszer szigorú , statikus , típuskövetkeztetéssel
Befolyásolt Joy , CIL , Java bájtkód , Haskell , Factor , Forth
Engedély MIT licenc
Weboldal cat-language.com

A Cat  egy funkcionális verem alapú programozási nyelv, amelyet a Joy programozási nyelv ihletett , és ettől abban különbözik, hogy statikus gépelést biztosít típuskövetkeztetéssel (mint például az ML és a Haskell esetében ). Ez az egyik megközelítés a megbízhatóság problémájának megoldására, amely a veremnyelvekben létezik [2] Ez magában foglalja a MetaCat makrónyelvet is [3] , amely lehetővé teszi a Cat nyelv kiterjesztését a kifejezések újradefiniálásával.

A Cat-et magas szintű középfokú nyelvnek tervezték, amely önálló nyelvként is használható egyszerű alkalmazások fejlesztéséhez. Így a PostScripthez hasonló rést tölt be . Ennek a nyelvnek egy másik célja a programozás alapvető fogalmainak megtanítása.


Példák

Fibonacci számok fib { dup1 <= [] [dup 1 - fib swap 2 - fib +] ha } egy [dup fib write ", " write inc] [dup 16 lteq] míg "..." írva Faktoriális tények meghatározása { dup1 <= [pop 1] [dup 1 - tény*] ha } 0 [dup write "!= " write dup fact writeln inc] [dup 16 lteq] míg

Megvalósítások

A Cat alap megvalósítása egy C# -ban írt interpreter [4] és egy CIL kódra fordító. Szintén elérhetőek a Scheme [5] , JavaScript [6] , Python [7] , Haskell [8] , Ωmega9] Standard ML [10 ] nyelven írt Cat interpreterek

Christopher Diggins jelenleg a cvml (Chickadee Virtual Machine Language) [11] projekten dolgozik, amelyet egy virtuális gép írt C++ nyelven .

Jegyzetek

  1. A Cat programozási nyelv archiválva : 2010. június 20., a Wayback Machine , Lambda the Ultimate
  2. Tényező: dinamikus verem alapú programozási nyelv Archivált : 2011. július 26. a Wayback Machine  -nél, szerző:  Slava Pestov, Daniel Ehrenberg, Joe Groff. Dynamic Languages ​​Symposium 2010 archiválva 2011. április 18-án a Wayback Machine -nél , lásd a kapcsolódó munkákat
  3. Metacat . Letöltve: 2015. május 31. Az eredetiből archiválva : 2015. május 31.
  4. Cat – Statikusan beírt programozási nyelv tolmács C# nyelven Archiválva : 2011. november 13., a Wayback Machine , Christopher Diggins, 2006. november 4., The Code Project
  5. schema-cat Archiválva : 2010. július 24. a Wayback Machine -nél  – egy külön projekt a Cat in Scheme beágyazásához, Ben Chamberstől
  6. Online Cat interpreter Archivált : 2011. június 15.
  7. Cat in Python Archiválva : 2011. augusztus 21. a Wayback Machine -nél  – megvalósítás: Andrew Nelis
  8. Cat in Haskell Archiválva : 2012. június 13. a Wayback Machine
    -nél, a következő alapján: Techniques for Embedding Postfix Languages ​​in Haskell, Chris Okasaki. Haskell Workshop, 2002. október, 105-113. oldal. Archivált : 2011. július 20. a Wayback Machine -nél + forráskód Archivált : 2011. július 20. a Wayback Machine -nél
  9. Cat interpreter in Omega using thrists (szálas listák) by Gabor Greif Archiválva 2013. december 19.
  10. Callcc beírva verem alapú nyelven . Letöltve: 2011. június 1. Az eredetiből archiválva : 2010. december 17..
  11. cvml archiválva : 2013. május 4., a Wayback Machine on Google Code

Irodalom

Linkek