Dettagli del software:
Versione: 0.1.2
Data di caricamento: 20 Feb 15
Licenza: Libero
Popolarità: 89
Arcueid è un'implementazione open source di Paul Graham Arco dialetto Lisp, nel linguaggio C. È stato progettato per agire come un interprete C.
Arcueid è progettata per essere compatibile con la versione 3.1 del software Arc, è dotato di una semplice interfaccia a C, ed è facilmente utilizzabile come linguaggio di estensione e un interprete embedded.
Cosa c'è di nuovo in questa versione:
- Un sacco di nuove funzionalità di questa versione. Ho finalmente risolto il bug quasiquotes nidificati che è stato fuori per più di un anno. Readline sembra funzionare meglio di quanto non fosse in 0.1.1. Alcune correzioni di bug, come problemi di perdita di memoria e problemi di garbage collector. Ora siamo tornati a utilizzare l'algoritmo Huelsbergen-Winterbottom VCGC per la raccolta dei rifiuti. Supporto di file di grandi dimensioni è ora disponibile anche su sistemi a 32 bit, il supporto bignum condizione è inoltre disponibile. Abbiamo alcune espressioni regolari in base al Piano 9 / Inferno biblioteca Regular Expression (ed è per ora in modo simile limitata). La funzione di carico è ora integrato in percorsi interprete e carico sono ora supportate. E ora c'è una modalità script in modo Arcueid può essere utilizzato in un shebang, es è ora possibile eseguire un file con il bit eseguibile impostato con il seguente contenuto
- #! / Usr / local / bin / Arcueid --script
- (PRN (+ 1 1))
- e che fa quello che ci si aspetta.
- Le espressioni regolari sono forniti tramite la sintassi r /.../. Solo roba di base come classi di personaggi, la stella Kleene e più operatori, la? operatore, alternarsi, e gruppi di cattura sono supportati. Molti Perl costruzioni / POSIX sono ancora disponibili, ma ben presto il supporto regexp dovrebbe evolvere per supportare molte delle caratteristiche più utili. Spero di essere presto in grado di aggiungere le cose come le ripetizioni contati, abbreviazioni classe carattere come d, e gruppi non-cattura. Per utilizzare espressioni regolari, possono essere applicati a stringhe, ad esempio:
- arc & gt; (R / (abc) (def) / & quot; zzzabcdefgh & quot;)
- (3 (& quot; abcdef & quot; & quot; abc & quot; & quot; def & quot;))
- Il che restituisce un elenco con la posizione della partita, e un elenco di tutti i gruppi di cattura, a cominciare con l'intera stringa corrispondente all'espressione regolare. Restituisce nil se l'espressione regolare non è riuscito a eguagliare. La macro = ~ può essere usato, che $$ lega alla posizione nella stringa partita ottenuta, e $ 0 a tutto abbinato porzione, $ 1 al primo cattura, e così via, in modo simile a Perl fa, ad esempio:
- arc & gt; (= ~ R / (abc) (def) / & quot; zzzabcdefgh & quot; (elenco $ 1 $ 2))
- (& quot; abc & quot; & quot; def & quot;)
- carico possono essere aggiunte tramite la funzione loadpath-add, che aggiunge una directory all'elenco percorso di carico loadpath *.
percorsi
I commenti non trovato