GNU Guile er den foretrukne tolk for GNU-prosjektet, har en implementering av Scheme-programmeringsspråket. Guile inkluderer modulære utvidelser for mange oppgaver programmering, for eksempel anrop til POSIX-systemer, blant andre.
For å utvide programmene har Guile libguile, et bibliotek som lar det settes inn i andre programmer og integreres nøyaktig ved bruk av C-programmeringsspråkets applikasjonsprogrammeringsgrensesnitt (API). På samme måte kan nye typer og underrutiner definert gjennom dette API gjøres tilgjengelig for brukeren som Guile-utvidelser.
Støtter muligheten til å legge inn koden i applikasjoner på andre programmeringsspråk. Guile kan brukes som et språk for å utvikle applikasjonsutvidelser, definere konfigurasjoner eller utvikle komponenter for å koble sammen de forskjellige primitivene som tilbys av applikasjonen. Guile er det offisielle utviklingsspråket for utvidelse av GNU-operativsystemet.
Om Gnu Guile
Kjernen i Guile er en effektiv virtuell maskin som utfører et bærbart instruksjonssett generert av en spesiell optimaliserings kompilator. Virtuell maskin Guile integreres sømløst med C og C ++ applikasjonskode.
I tillegg til Ordningsspråket, som støtter R5RS, R6RS og R7RS spesifikasjoner, Guile-prosjektet utviklet også kompilatorer for andre språk, som ECMAScript, Emacs Lisp og Lua (under utvikling).
Guile Scheme hovedideen er at utvikler skal implementere kritiske algoritmer og datastrukturer i C eller C ++ og eksporterer funksjonene og typene for bruk av den tolket koden.
Derfor kan Guile Scheme og andre språk implementert av Guile utvides med nye typer og underrutiner implementert gjennom C API.
Standardfordelingen tilbyr moduler for POSIX-systemanrop, planleggere, et utenlandsk funksjonsgrensesnitt, uttrykk basert på XML-behandling fra SXML, SXPath og SXSLT.
Det inkluderer også HTTP-protokollen og andre web-APIer, cBegrensning av fortsettelse, vektorprogrammering og andre funksjoner. Programmer skrevet i Guile kan bruke fasilitetene til SLIB, Schemes bærbare bibliotek.
Pakken inneholder et bibliotek med moduler som implementerer standard servicefunksjoner, for eksempel å jobbe med HTTP-protokollen, XML-parsing og bruk av objektorienterte programmeringsmetoder.
De viktigste nye funksjonene i GNU Guile 3.0
En viktig innovasjon i GNU Guile 3.0 var utseendet til en JIT-kompilator, i tillegg til den tidligere foreslåtte bytecode-tolk og kompilator, utført i en spesiell virtuell maskin som er koblet til applikasjonen i form av et bibliotek.
JIT lar deg generere maskinkode på farten og øker kjøringen av Guile-applikasjoner betydelig (tester viser opptil 4x akselerasjon). JIT-kompilatoren støtter x86-64, i686, ARMv7 og AArch64 arkitekturer.
også Det er fremhevet at støtte for den nye R7RS Scheme-språkspesifikasjonen ble lagt til og biblioteksmoduler definert i den.
En http-forespørsel, http-get og andre prosedyrer knyttet til webklienten, har muligheten til å laste ned innhold gjennom en kryptert kommunikasjonskanal ved hjelp av TLS blitt lagt til med riktig bekreftelse av sertifikater.
Fra den virtuelle maskinenl Guile, forbedringer ble gjort for å støtte bytecode lavere nivå, slik at du kan bruke avanserte optimaliseringer.
Av de andre endringene som ble innlemmet i denne nye versjonen:
- Støtte for å kombinere definisjoner og interne definerte definisjoner (definere _ (begynn (foo) #f)).
- En enhetlig implementering av en strukturert datatype («poster").
- Unntaket som håndterer primitiver (kast og fangst) er redesignet.
- Koblinger er definert for utvidet syntaks "Ellers" '=>" '...« y "_".
Hvordan installerer jeg Gnu Guile 3.0?
For de som er interessert i å kunne installere Guile På systemet ditt kan du laste ned kildekoden til applikasjonen og kompilere den.
For dette vi må åpne en terminal og i den skal vi skrive:
wget -r ftp://ftp.gnu.org/gnu/guile/guile-3.0.0.tar.gz
Nå vi skal kompilere med:
zcat guile-3.0.0.tar.gz | tar xvf -
cd guile-3.0.0
./configure
make
make install