Ikarus (implementace schématu) - Ikarus (Scheme implementation) - Wikipedia
![]() | |
Paradigmata | Multi-paradigma: funkční, rozkazovací způsob, meta |
---|---|
Rodina | Lisp |
Navrhl | Abdulaziz Ghuloum |
Vývojář | Abdulaziz Ghuloum |
Poprvé se objevil | 31. října 2007 |
Konečné vydání | 0.0.3 / 2. února 2008 |
Náhled verze | 0.0.3 / 2. února 2008 |
Psací disciplína | Dynamický, latentní, silný |
Rozsah | Lexikální |
Jazyk implementace | Systém, C |
Plošina | IA-32 |
OS | Cross-platform: Operační Systém Mac, Linux, FreeBSD, NetBSD, Windows XP |
Licence | GPL |
webová stránka | ikarus-schéma |
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:
- Operační Systém Mac, verze 10.4 a 10.5
- Linux, 2.6.18; Debian, Fedora, Gentoo a Ubuntu
- FreeBSD, verze 6.2
- NetBSD, verze 3.1
- Windows XP pomocí Cygwin 1.5.24
Reference
- ^ Ghuloum, Abdulaziz (2007-10-31). „První vydání Ikarus - kompilátor volby pro hackery R6RS“. Diskusní skupina: comp.lang.scheme. Usenet: [email protected]. Citováno 2007-11-28.
- ^ Ghuloum, Abdulaziz (02.02.2008). „Schéma Ikarus: Historie“. Schéma Ikarus. Citováno 2019-04-04.
- ^ 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.
- ^ 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.
- ^ 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
- Oficiální webové stránky
- Webové stránky rozvoje systému Ikarus
- Domovská stránka knihovny R6RS a systému syntaxe-case
- Stránka pro vývoj knihovny R6RS a systému syntaxe a případu
- Uživatelská příručka systému Ikarus
- Standard R6RS
Srovnávací hodnoty
- dříve podporováno Srovnávací hra pro počítačový jazyk: položka pro Ikarus Scheme (Intel Pentium 4)
- Srovnávací hodnoty srovnávající Ikarus s jinými implementacemi schématu R5RS (Tyto výsledky jsou pro 0.0.2 a nebyly aktualizovány pro 0.0.3.)
- Srovnávací hodnoty srovnávající Ikarus s jinými implementacemi schématu R6RS (Tyto výsledky jsou pro 0.0.2 a nebyly aktualizovány pro 0.0.3.)