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 .
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
- ↑ A Cat programozási nyelv archiválva : 2010. június 20., a Wayback Machine , Lambda the Ultimate
- ↑ 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
- ↑ Metacat . Letöltve: 2015. május 31. Az eredetiből archiválva : 2015. május 31. (határozatlan)
- ↑ 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
- ↑ 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
- ↑ Online Cat interpreter Archivált : 2011. június 15.
- ↑ Cat in Python Archiválva : 2011. augusztus 21. a Wayback Machine -nél – megvalósítás: Andrew Nelis
- ↑ 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
- ↑ Cat interpreter in Omega using thrists (szálas listák) by Gabor Greif Archiválva 2013. december 19.
- ↑ Callcc beírva verem alapú nyelven . Letöltve: 2011. június 1. Az eredetiből archiválva : 2010. december 17.. (határozatlan)
- ↑ cvml archiválva : 2013. május 4., a Wayback Machine on Google Code
Irodalom
Linkek