Gauche

Software screenshot:
Gauche
Dettagli del software:
Versione: 0.9.3.3
Data di caricamento: 14 Apr 15
Sviluppatore: Shiro.k
Licenza: Libero
Popolarità: 15

Rating: nan/5 (Total Votes: 0)

Gauche è un'implementazione Scheme R5RS sviluppato per essere un interprete di script a portata di mano, che consente ai programmatori e amministratori di sistema di scrivere piccoli e grandi script per i loro faccende quotidiane. Avvio rapido, interfaccia di sistema integrato, supporto multilingue nativo sono alcuni dei miei obiettivi.
Applicazione gauche funziona su diverse piattaforme Unix-like.
Instalation
% Gzcat Gauche-0.8.3.tgz | tar xf -
% Cd Gauche-0.8.3
% ./configure
% Make
% Make install

Caratteristiche :.

  • Lettere R5RS, quasi

  • Macro
  • R5RS è supportato come tutti definiscono-sintassi, let-sintassi, forme letrec-sintassi. Penso che la velocità di espansione macro è importante come un interprete di script, e scrissi R5RS expander macro in C, integrato nel motore compilatore interno.
  • operazioni numeriche sono supportati su Fixnum, bignum, flonum e complesso.
  • Supporta i seguenti SRFIs.
  • Sistema modulare: un semplice sistema di moduli, API compatibile STklos
  • Sistema Oggetto: Sistema di oggetti CLOS-like con protocollo metaobject. Quasi API compatibile STklos. E 'anche simile al sistema oggetto Guile s'.
  • Supporto stringa Multibyte: stringhe sono rappresentati da stringa multibyte internamente. È possibile utilizzare UTF-8, EUC-JP, Shift-JIS o no la codifica multibyte per scelta configure-tempo. La conversione tra il sistema di codifica nativo e sistema di codifica esterna è supportato da porta oggetti.
  • Multibyte regexp: Espressione regolare matcher è a conoscenza di stringa multibyte; è possibile utilizzare caratteri multibyte sia nei modelli e stringhe corrispondenti.
  • Reader estensione: regexp letterale e char-set, interpolazione stringa: lettore esteso riconosce # / ... / come espressione regolare, e # [...] come un set di caratteri. Handy scrivere battute. (Ad esempio (rxmatch-substring (rxmatch # / (D +) / & quot; abc123def & quot;)) == & gt; & quot; 123 & quot;)
  • Anche & quot; stringa interpolazione & quot; è supportato (ad esempio, (visualizzazione # `& quot; 1 + 2 =, (+ 1 2) n & quot;)).

  • Interfaccia
  • Sistema: Copre la maggior parte di POSIX.1 e alcune altre caratteristiche comuni in Unix. Vedere la sezione 6.19 del manuale di riferimento per i dettagli.
  • Interfaccia di rete:. Ha API per interfaccia di rete basato su socket, tra cui IPv6 se il sistema operativo Suppots it
  • Multithreading: Su alcune piattaforme, multithreading è supportato in cima pthreads. Schema di livello API conforme SRFI-18.
  • interfaccia DBM:. Interfaccia per librerie DBM-like (dBm, ndbm e / o gdbm) se il sistema fornisce loro
  • parsing XML:. Strumenti SXML di Oleg Kiselyov sono inclusi
  • binding OpenGL:. OpenGL legame viene fornito in un pacchetto separato
  • GTK vincolante: GTK2 vincolanti sono contenute in un pacchetto separato

Cosa c'è di nuovo in questa versione:.

  • Questa versione corregge alcuni problemi di compilazione

Cosa c'è di nuovo nella versione 0.9.3:

sostegno

  • Questa versione aggiunge sequenze pigri, una perfetta l'integrazione della valutazione pigra con la manipolazione lista.
  • Le discussioni sono supportati sulla compilazione nativa di Windows.
  • Ci sono stati vari bugfix e miglioramenti delle prestazioni.

Cosa c'è di nuovo nella versione 0.9.2:

  • Vari miglioramenti delle funzionalità minori e correzioni sono state fatte in questo rilascio.
  • Le nuove funzionalità includono il supporto Unicode caso-mapping, una utility per l'esecuzione atomica, una comoda utility di benchmarking, e una API pubblica per le routine di generazione di codice C.
  • Il programma di installazione di Windows binario ora si presenta come un file di installazione di MS, generato da WiX.

Cosa c'è di nuovo nella versione 0.9.1:

  • Questa versione aggiunge molte nuove funzionalità, tra cui: efficiente record, un meccanismo del modulo avanzato di rinominare e prefisso di, formali estese per argomenti opzionali e parole chiave, continuazioni parziali, pool di thread, un miglior supporto di Windows, JSON analisi, la password hashing Blowfish, e altro ancora.

Cosa c'è di nuovo in versione 0.9:

  • C API cambiamenti incompatibili: vengono introdotti diversi cambiamenti C API incompatibili , che potrebbe causare qualche estensione a fallire per la compilazione. Vedi Cambiamenti API in 0.9 per i dettagli.
  • Nuove funzionalità:
  • Nuovo modulo: rfc.zlib:. Zlib compressione / decompressione
  • Nuovo modulo: rfc.sha: supporto SHA2. rfc.sha1 è sostituito da questo modulo.
  • Nuovo modulo: util.sparse: vettori Sparse supportate da trie spazio-efficiente, e hash tavole realizzate in cima vettori sparse. Sono efficiente della memoria rispetto alle tabelle hash incorporate quando si desidera conservare decine di milioni di voci.
  • Autoprovide: Non è più necessario 'fornire' forma per la maggior parte delle volte. Se (richiedono & quot; X & quot;) carica con successo X.scm e non avere una forma di fornire, la funzione & quot; X & quot; è fornita automaticamente. Vedere il & quot; richiedere il & quot; Sezione di riferimento per maggiori dettagli.
  • Modulo gauche.test: Migliorato il test per le eccezioni. È ora possibile verificare se un determinato tipo di condizione è gettato dando (test-error condizione-type), come il risultato atteso. Vedi la voce manuale per maggiori dettagli.
  • Modulo rfc.http: Ora gestisce proxy: argomento chiave proxy. Si può facilmente comporre application / x-www-form-urlencoded e messaggi multipart / form-data per inviare i parametri di modulo. Nuove procedure:. Http-messo e http-delete
  • Modulo rfc.mime:. Aggiunto il supporto di composizione di un messaggio MIME
  • gauche.threads Modulo: Nuove procedure:. Filo-stop !, !, filo-stato del thread-cont
  • gauche.termios Modulo: Il supporto nativo di Windows, questo modulo fornisce API Console di Windows invece di POSIX termios API, poiché emulationg termios POSIX in Windows è troppo. Sono inoltre aggiunto un insieme di comuni di API di alto livello che può essere utilizzato sia su POSIX e Windows.
  • Modulo gauche.dictionary fornisce una mappa bidirezionale,.
  • run-processo nel modulo gauche.process, e builtin sys-exec e sys--forcella e-exec di sostegno:. Argomento chiave directory per specificare la directory di lavoro del processo eseguito
  • Module file.util fornisce creare-directory-tree e il check-directory-tree.
  • Module gauche.net fornisce operazioni socket di basso livello: Presa-sendmsg, presa-buildmsg, e presa di ioctl. Call-con-client-socket prende nuovi argomenti parole chiave per specificare la modalità buffer per la presa.
  • Modulo www.cgi:. Cgi-main cambia la modalità di buffer di stderr alla linea, in modo che il registro httpd può registrare i messaggi di errore linea per linea (molto meno ingombro rispetto a prima)
  • I principali correzioni e miglioramenti:
  • Risolto problema build su OSX 10.6 (Snow Leopard).
  • Le prestazioni sono notevolmente migliorate in numero a virgola mobile aritmetica, la gestione delle procedure argomento opzionale incorporata, e case-lambda.
  • Ora tutti i caratteri spazio definiti in R6RS funziona come spazi intertoken nel codice sorgente.
  • un messaggio di avviso viene stampato quando un thread termina con un errore e nessun altro thread recuperare il suo status da filo-join! prima che il thread è GC-ed. Questo aiuta la risoluzione dei problemi. Dal filo-join! è l'unico modo per sapere se il thread exitted da un errore, si hanno o chiamare filo-join! fare in modo di controllare lo stato, o scrivere il thunk filo per catturare tutti gli errori e gestirli correttamente.
  • Anonymous nome del modulo è #f ora, invece di (un po 'arbitrariamente scelto) | # |.
  • Alcuni miglioramenti sui simboli: «uninterned 'SymbOS sono ufficialmente supportati (simboli generati dal gensym sono state uninterned, ma mai stata documentata ufficialmente.) Simboli Uninterned sono scritti come #: simbolo a la CommonLisp. Simboli Uninterned non sono registrati alla tabella dei simboli interna, quindi non c'è nessuna preoccupazione circa il nome crash. L'unico modo per riferirsi allo stesso simbolo uninterned da più di un posto nel codice sorgente è di usare SRFI-38 notazione (n = # e # n #). È possibile creare simbolo uninterned da String & gt; uninterned-simbolo e verificare se un simbolo è internato o no dal simbolo-intened ?. C'è anche una procedura nuova, simbolo-sans-prefix.

Cosa c'è di nuovo nella versione 0.8.14:

  • Si tratta di una release di manutenzione, tra cui correzioni cumulativi e numerosi piccoli miglioramenti.
  • Una parte della VM è stato riscritto per migliorare le prestazioni e la manutenibilità.

Programmi simili

g95
g95

2 Jun 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

bpython
bpython

14 Apr 15

Commenti a Gauche

I commenti non trovato
Aggiungi commento
Accendere le immagini!