Ohjelmiston tiedot:
Se antaa ohjelmoijille ja ylläpitäjät kirjoittaa pienistä suuriin skriptejä niiden sovelluksiin.
Gauche on käsikirjoitus moottori siinä mielessä, että se lukee ja arvioi lähdekoodia, mutta sisäisesti se kokoaa Scheme lausekkeet väli- forma optimoimalla kääntäjä sitten suorittaa se virtuaalikone.
Toistaiseksi suorituskyky on verrattavissa muihin Scheme tulkkeja.
Ominaisuudet
- Yleistä ominaisuuksia:
- Covers R5RS, melkein.
- Sekä R5RS korkean tason makro- ja perintö määrittävät-makro tuetaan.
- Numeerinen toimintaa tuetaan fixnum, bignum, flonum ja monimutkainen.
- Moduulijärjestelmä: yksinkertainen moduuli järjestelmä, API yhteensopivia STklos
- Object: CLOS kaltainen esine järjestelmä metaobject protokollaa. Lähes API yhteensopiva STklos. On myös samankaltainen Guile n objektin järjestelmässä.
- Monitavuiset string tuki: Strings edustaa multibyte merkkijono sisäisesti. Voit käyttää UTF-8, EUC-JP, Shift-JIS tai ei multibyte koodauksen konfiguroinnin ajan valinta. Muuntaminen välillä native koodausjärjestelmä ja ulkoinen koodaus järjestelmää tukevat porttiolioiden.
- Monitavuiset regexp: Säännöllinen lausekkeen haussa on tietoinen multibyte merkkijono; Voit käyttää multibyte merkkejä sekä malleja ja Hyväksytty jousille.
- Reader laajennus: kirjaimellinen regexp ja nieriää-sarja, string interpolointi: Extended lukija tunnistaa # / ... / kuin säännöllinen lauseke, ja # [...] sillä merkistöä. Handy kirjoittaa yksi-alukset. (Esim (rxmatch-substring (rxmatch # / (d +) / & quot; abc123def & quot;)) == & gt; & quot; 123 & quot;)
- Myös & quot; merkkijono interpoloinnin & quot; on tuettu (esim (näyttö # `& quot; 1 + 2 = (+ 1 2)
- & quot;)).
- Järjestelmän käyttöliittymä: Kannet useimmat POSIX.1 ja joitakin muita ominaisuuksia yleisiä Unix. Katso kohta 6.19 viitteen ohjekirjasta.
- Verkko-liitäntä: Onko API for socket-pohjainen verkkokortti, mukaan lukien IPv6 jos käyttöjärjestelmä suppots se.
- Multithreading: Joissakin ympäristöissä, multithreading tuetaan päälle pthreads. Scheme-tason API mukainen SRFI-18.
- DBM liitäntä: Liitäntä DBM kaltainen kirjastot (dBm, ndbm ja / tai GDBM-), jos järjestelmä tarjoaa heille.
- XML-jäsentämiseen: Oleg Kiselyov n SXML työkaluja mukana.
- OpenGL sitova: OpenGL sitova annetaan erillinen paketti.
- GTK sitova: GTK2 sitova annetaan erillinen paketti.
- Tukee seuraavia SRFIs:
- SRFI-0 Feature perustuva ehdolliseen laajentaminen konstruktio
- SRFI-1 Luettelo kirjasto
- SRFI-2 Ja-let *
- SRFI-4 homogeeninen numeerinen vektori tietotyypit
- SRFI-5 yhteensopiva Let muodossa allekirjoituksia ja loput argumentit
- SRFI-6 String porttia
- SRFI-7 Feature-pohjainen ohjelma kokoonpano kieli
- SRFI-8 Saavat
- SRFI-9 tietuelajit
- SRFI-10 Sharp-pilkku ulkoinen muoto
- SRFI-11 Anna-arvot
- SRFI-13 String Kirjasto
- SRFI-14 Character Set Kirjasto
- SRFI-16 Syntax menettelyistä vaihtelevien arity
- SRFI-17 Yleistynyt set!
- SRFI-18 Multithreading tuki
- SRFI-19 Time tietotyypit ja menettelyistä
- SRFI-22 Running Scheme-skriptit Unix
- SRFI-23 Error raportointimekanismia
- SRFI-25 Multi-ulotteinen taulukko primitiivejä
- SRFI-26 merkintätapa Erikoistunut parametrit ilman currying
- SRFI-27 lähteet satunnaisia bittejä
- SRFI-28 Basic muotomerkkijonojen
- SRFI-29 lokalisointi
- SRFI-30 sisäkkäisiä Multi-line kommentit
- SRFI-31 erityinen muoto rec rekursiivisissa arviointia
- SRFI-34 Poikkeus Käsittely ja ohjelmat
- SRFI-35 olosuhteet
- SRFI-36 I / O-olosuhteet (osittain)
- SRFI-37 args-kertainen: ohjelma argumentti suoritin
- SRFI-38 External edustusto Data jaetulla rakenne
- SRFI-39 Parametri esineet
- SRFI-40 kirjasto Streams
- SRFI-42 Eager comprehenshion
- SRFI-43 Vector Kirjasto
- SRFI-45 Primitives ilmaisemiseen Iterative Lazy algoritmit
- SRFI-55 edellyttävät-laajennus
- SRFI-61 yleisempi joht lauseke
- SRFI-62 S-ilmaisun kommentit
- SRFI-87 = & gt; asiassa lausekkeita li>
Mikä on uusi tässä julkaisussa:
- Major ominaisuuksien parannuksia.
Mikä on uusi versiossa 0.9.3.3:
- New menettelyssä: string-scan-oikeutta.
- GC on nyt 7.2b.
Mikä on uusi versiossa 0.9.3:
- Lazy sekvenssit.
- ketjutettu-sovellusmakron $.
- Langat nyt tuettu Windows / MinGW rakentaa.
Mikä on uusi versiossa 0.9.2:
- Case kartoitus ja luonne ominaisuudet ovat täysin tuettuja, yhteensopiva jotta R6RS ja R7RS luonnos (molemmat perustuvat Unicode-standardi). Character-viisas tapauksessa kartoitus (char-Tarkista avoimet portit) ja omaisuuden kyselyt (char-aakkosellinen ?, char-yleisen luokan, jne.) Eivät ole kiinteitä. Context-aware string tapaus kartoitus (string-Tarkista avoimet portit jne) on uudessa text.unicode moduulin. (Huom: srfi-13: n string-Tarkista avoimet portit jne pysyvät ennallaan, ne on määritetty käyttämään yksinkertaista tapausta kuvaukset.) Text.unicode moduuli tarjoaa myös muunnoksen utf-8 / utf-16 ja Unicode codepoints.
- Windows binary jakelu on nyt MS asentaja (* Msi) muodossa, luotu Wix. Se on turvallisempaa kuin edellinen * .exe muodossa luotu NSIS, joka oli vika, joka murskaa PATH asetukset, kun se on liian pitkä.
- kätevä kääre atomi suorittamiseen lisätään gauche.threads. Katso tämä intro postitse.
- Esikuva apuohjelmia muistuttaa Perl n Benchmark-moduuli on nyt saatavana gauche.time. Katso tämä virka käyttöönottoa.
- kanssa-lock-file: kauan odotettu ominaisuus käyttää lukita tiedostoja kätevästi. Se on file.util moduuli.
- Lisätty täysi tuki srfi-60, kokonaisluvun bittioperaatioita.
- gauche.cgen: Jotkut API Gauche käyttää tuottaa C-koodia tulee julkisia. Katso käyttöohjeesta lisätietoja.
Mikä on uusi versiossa 0.9.1:
- Kunnioita hakemisto väitteen Windows-koodiksi polku samoin.
- Muokkaa * kuorma-polku * sisältää ennalta 0.9.1 hakemiston rakenne taaksepäin yhteensopivuus.
- Luo symlinc välillä libgauche.so ja libgauche-0.9.so varten taaksepäin yhteensopivuus; laajennukset koottu 0.9 viittaa libgauche.so, ja ne on toimi asennuksen jälkeen 0.9.1.
- Changed kirjaston asennus hakemisto $ {datadir} / gauche dollaria {datadir} / gauche - $ {ABI_VERSION}. Tämä on myös theconsistency arkkitehtuurin riippuvia kirjastoja.
- Kludge tehdä gauche-paketti työtä testeissä ilman asennettuna Gauchessa.
Mikä on uusi versiossa 0.9:
- Uusi moduuli: rfc.zlib: Zlib pakkaus / purku.
- Uusi moduuli: rfc.sha: SHA2 tuki. rfc.sha1 on syrjäyttänyt tässä moduulissa.
- Uusi moduuli: util.sparse: Harva vektorit tuekseen tilatehokkaita trie, ja hash-taulukoiden toteutettu päälle harva vektoreiden. Ne ovat muistissa tehokkaita kuin sisäänrakennettu hash taulukoita kun haluat säilyttää kymmeniä miljoonia tietoja.
- Autoprovide: Sinun ei enää tarvitse "säätää" muodossa suurimman osan kertaa. Jos (vaativat & quot; x & quot;) onnistuneesti lataa X.scm ja se ei ole antaa muodon, ominaisuuden & quot; x & quot; on automaattisesti säädetty. Katso & quot; Vaadi ja tarjota & quot; osan viite lisätietoja.
- Moduuli gauche.test: Parempi testaus poikkeuksia. Nyt voit testata, onko tietyn tyyppisen kunnossa heitetään antamalla (koe-virhetilanne-tyyppi), koska odotettua tulosta. Katso syöttö käsin lisätietoja.
- Moduuli rfc.http: Now käsittelee proxy by: valtakirjalla avainsanan argumentti. Voit myös helposti säveltää application / x-www-muotoon-urlencoded ja multipart / form-data viestin lähettää lomakkeen parametreihin. Uudet menettelyt: http-laittaa ja http-poistaa.
- Moduuli rfc.mime: Lisätty tuki säveltäminen MIME viestin.
- Moduuli gauche.threads: Uudet menettelyt: kierre-stop !, kierre-jatk !, kierre-tilassa.
- Moduuli gauche.termios: Windows natiivi tuki, tämä moduuli tarjoaa Windows Console API sijaan POSIX termios API, koska emulationg POSIX termios Windows on liian paljon. Yhteiset korkean tason API, jota voidaan käyttää sekä POSIX ja Windows on myös lisätty.
- Moduuli gauche.dictionary tarjoaa kaksisuuntaisen kartan, & # X3C; bimap & # x3e;.
- run-prosessi moduuli gauche.process, ja sisäänrakennettu sys-exec ja sys-haarukka-ja-exec tuki: hakemisto hakusana argumentti määrittää työhakemistossa teloitettiin prosessin.
- Module file.util tarjoaa luoda-hakemisto-puu ja check-directory-puu.
- Moduuli gauche.net tarjoaa matalan tason socket toiminnot: socket-sendmsg, socket-buildmsg, ja socket-ioctl. Call-with-client-socket ottaa uuden avainsanan args täsmentää puskuroinnin tila socket.
- Moduuli www.cgi: cgi-pääkytkimien puskurointi tilassa stderr linjaan, niin että httpd loki voi tallentaa virheilmoitukset rivi riviltä (paljon vähemmän sotkua kuin ennen).
Kommentteja ei löytynyt