Ikarus (implementace schématu) - Ikarus (Scheme implementation) - Wikipedia

Schéma Ikarus
Logo Ikarus Logo.png
Logo schématu Ikarus zobrazující mýtickou postavu Icarus létání přes slunce.
ParadigmataMulti-paradigma: funkční, rozkazovací způsob, meta
RodinaLisp
NavrhlAbdulaziz Ghuloum
VývojářAbdulaziz Ghuloum
Poprvé se objevil31. října 2007; Před 13 lety (2007-10-31)
Konečné vydání
0.0.3 / 2. února 2008; Před 12 lety (2008-02-02)
Náhled verze
0.0.3 / 2. února 2008; Před 12 lety (2008-02-02)
Psací disciplínaDynamický, latentní, silný
RozsahLexikální
Jazyk implementaceSystém, C
PlošinaIA-32
OSCross-platform: Operační Systém Mac, Linux, FreeBSD, NetBSD, Windows XP
LicenceGPL
webová stránkaikarus-schéma.org
Ovlivněno
Lisp, Systém

Schéma Ikarus je svobodný software optimalizace přírůstkový překladač pro R6RS Systém který se kompiluje přímo do x86 IA-32 architektura. Ikarus je první veřejnou implementací velké části standardu schématu R6RS.[1] Verze 0.0.3 obsahuje 94% z celkového počtu formulářů a postupů R6RS.[2]Vývoj se zastavil v roce 2008.

Design

The překladač vývojář, Abdulaziz Ghuloum, byl Ph.D. student ve společnosti Indiana University pod R. Kent Dybvig, vývojář Chez Scheme, který ovlivnil vývoj Ikaru.

Některé z myšlenek, které stojí za designem schématu Ikarus, jsou podrobně popsány v „Přírůstkovém přístupu ke konstrukci kompilátoru“ od vývojáře.[3] Ikarus je vlastní hosting s většinou kompilátoru a primitiv napsaných ve schématu a jen s několika částmi souboru runtime systém napsáno v C. Také spíše než používat externí střední jazyk jako C, LLVM nebo C--, kompiluje se přímo do strojový kód k lepšímu využití základní architektury stroje.

Ikarus používá přenosná knihovna R6RS a systém syntax-case který také vyvinul Abdulaziz Ghuloum a je popsán v článku „Implicitní fázování pro knihovny R6RS“.[4] Nakonec příspěvek „Generation-Friendly Eq Hash Tables“ pokrývá implementaci hash tabulky v Ikarusu.[5]

Požadavky na systém

Ikarus běží na x86, ale vyžaduje SSE2 podpora zvládnout aritmetika s plovoucí desetinnou čárkou (FP) výpočty, takže nebude vytvářet kód pro Intel čipy dříve než Pentium 4 nebo pro Pokročilá mikro zařízení (AMD) dříve Athlon 64.Vydání 0.0.3 bylo testováno a běží na:

Reference

  1. ^ Ghuloum, Abdulaziz (2007-10-31). „První vydání Ikarus - kompilátor volby pro hackery R6RS“. Diskusní skupinacomp.lang.scheme. Usenet:  [email protected]. Citováno 2007-11-28.
  2. ^ Ghuloum, Abdulaziz (02.02.2008). „Schéma Ikarus: Historie“. Schéma Ikarus. Citováno 2019-04-04.
  3. ^ Ghuloum, Abdulaziz (17. září 2006). „Postupný přístup ke konstrukci překladačů“ (PDF). Schéma a funkční programování, 2006. Portland, Oregon. 27–37. Citováno 2007-11-28.
  4. ^ Ghuloum, Abdulaziz; Dybvig, R. Kent (2007). „Implicitní fázování pro knihovny R6RS“. Proc. mezinárodní konference ACM SIGPLAN 2007 o funkčním programování. Freiburg, Německo. 303–314. Citováno 2007-12-01.
  5. ^ Ghuloum, Abdulaziz; Dybvig, R. Kent (30. září 2007). „Generační přívětivé tabulky hash“ (PDF). Proc. semináře o schématu a funkčním programování z roku 2007. Freiburg, Německo. str. 27–36. Citováno 2007-12-01.

externí odkazy

Schéma Ikarus

Srovnávací hodnoty

Recenze