Kissa (ohjelmointikieli)

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 25. joulukuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 3 muokkausta .
kissa
Kieliluokka Konkatenatiivinen ohjelmointikieli
Esiintyi 2006 [1]
Tekijä Christopher Diggins
Vapauta 1.0 beta 4. ( 16. huhtikuuta 2008 )
Tyyppijärjestelmä tiukka , staattinen , tyyppipäätelmällä
Vaikutettu Joy , CIL , Java-tavukoodi , Haskell , Factor , Forth
Lisenssi MIT-lisenssi
Verkkosivusto cat-language.com

Cat  on toiminnallinen pinopohjainen ohjelmointikieli, joka on saanut inspiraationsa Joy - ohjelmointikielestä , josta se eroaa siinä, että se tarjoaa staattista kirjoitusta tyyppipäätelmillä (kuten esimerkiksi ML ja Haskell ). Tämä on yksi tapa ratkaista pinokielissä esiintyvä luotettavuusongelma [2] Se sisältää myös MetaCat-makrokielen [3] , joka mahdollistaa Cat-kielen laajentamisen määrittelemällä termit uudelleen.

Cat on suunniteltu korkean tason keskitason kieleksi, jota voidaan käyttää myös itsenäisenä kielenä yksinkertaisten sovellusten kehittämiseen. Siten se täyttää PostScriptin kaltaisen markkinaraon . Toinen tämän kielen tarkoitus on opettaa ohjelmoinnin peruskäsitteitä.


Esimerkkejä

Fibonaccin numerot fib { dup1 <= [] [dup 1 - fib swap 2 - fib +] jos } yksi [dup fib write ", " write inc] [dup 16 lteq] sillä aikaa "..." kirjoitettu Factorial määrittele tosiasiat { dup1 <= [pop 1] [dup 1 - fakta*] jos } 0 [dup write "!= " kirjoita dup fact writeln inc] [dup 16 lteq] sillä aikaa

Toteutukset

Catin perustoteutus on C# :lla kirjoitettu tulkki [4] ja kääntäjä CIL - koodiin. Saatavilla on myös Cat-tulkit, jotka on kirjoitettu Scheme [5] , JavaScript [6] , Python [7] , Haskell [8] , Ωmega9] Standard ML [10 ]

Christopher Diggins työskentelee parhaillaan cvml-projektin (Chickadee Virtual Machine Language) [11] parissa , joka on kirjoitettu C++ :lla virtuaalikoneen avulla .

Muistiinpanot

  1. Cat ohjelmointikieli arkistoitu 20. kesäkuuta 2010 Wayback Machinessa , Lambda the Ultimate
  2. Factor: dynaaminen pinopohjainen ohjelmointikieli Arkistoitu 26. heinäkuuta 2011 Wayback Machinessa  , kirjoittaneet  Slava Pestov, Daniel Ehrenberg, Joe Groff. Dynamic Languages ​​Symposium 2010 Arkistoitu 18. huhtikuuta 2011 Wayback Machinessa , katso Aiheeseen liittyvät teokset
  3. Metacat . Haettu 31. toukokuuta 2015. Arkistoitu alkuperäisestä 31. toukokuuta 2015.
  4. Kissa - Staattisesti kirjoitettu ohjelmointikielen tulkki C#:ssa Arkistoitu 13. marraskuuta 2011, the Wayback Machine , Christopher Diggins, 4. marraskuuta 2006, The Code Project
  5. schema-cat Arkistoitu 24. heinäkuuta 2010 Wayback Machinessa  - Ben Chambersin erillinen projekti Cat in Schemen upottamiseksi
  6. Online Cat tulkki Arkistoitu 15. kesäkuuta 2011.
  7. Cat in Python Arkistoitu 21. elokuuta 2011 Wayback Machinessa  - toteuttaja Andrew Nelis
  8. Cat in Haskell Arkistoitu 13. kesäkuuta 2012 Wayback Machinessa
    Perustuu: Techniques for Embedding Postfix Languages ​​in Haskell, Chris Okasaki. Haskell Workshop, lokakuu 2002, sivut 105-113. Arkistoitu 20. heinäkuuta 2011 Wayback Machinessa + lähdekoodi Arkistoitu 20. heinäkuuta 2011 Wayback Machinessa
  9. Cat tulkki Omegassa käyttäen thrists (ketjutetut luettelot), kirjoittanut Gabor Greif Arkistoitu 19. joulukuuta 2013.
  10. Kirjoitettu callcc pinopohjaisella kielellä . Haettu 1. kesäkuuta 2011. Arkistoitu alkuperäisestä 17. joulukuuta 2010.
  11. cvml arkistoitu 4. toukokuuta 2013 Wayback Machinessa Google Codessa

Kirjallisuus

Linkit