Versione SBCL 2.3.9, implementazione del linguaggio Common Lisp

È stato pubblicato il rilascio di SBCL 2.3.9 (Steel Bank Common Lisp), un'implementazione libera del linguaggio di programmazione Common Lisp. Il codice del progetto è scritto in Common Lisp e C, e viene distribuito sotto licenza BSD.

Nel nuovo rilascio:

  • L'allocazione dello stack attraverso DYNAMIC-EXTENT ora si applica non solo al legame iniziale, ma anche a tutti i valori che una variabile può assumere (ad esempio, tramite SETQ). Ciò consente, ad esempio, di semplificare la costruzione di strutture complesse o ricorsive nello stack tramite iterazioni.
  • Alcune interfacce nel modulo SB-POSIX sono state allineate con la specifica e il risultato NULL dalla libreria C è considerato un errore solo se errno è modificato da una chiamata. In questo caso verrà generato un segnale SYSCALL-ERROR.
  • Migliorata l'operatività dei macro DO-PASSWDS e DO-GROUPS nel modulo SB-POSIX. Questi macro sono progettati per operare in modo sicuro con il database delle password e dei gruppi.
  • Ripristinato il supporto per le piattaforme Darwin x86 e PowerPC (ringraziamo Kirill A. Korinskii, Sergey Fëdorov e barracuda156).
  • Corretto un errore di compilazione che si verificava a causa di un'errata emissione di tipo durante la moltiplicazione di valori fixnum per valori frazionari.
  • Corretto un errore del compilatore che si verificava in alcuni casi durante la verifica di valori 64-bit firmati e non firmati.
  • Corretto un errore del compilatore nel caso in cui l'argomento «:INITIAL-CONTENTS» per MAKE-ARRAY fosse una costante non sequenziale.
  • Corretta un'errore di compilazione di funzioni di riduzione in una costante di una sequenza data quando veniva restituito un valore falso dalle funzioni «:TEST» o «:KEY».
  • Corretto un errore di compilazione di funzioni di array o sequenze con argomenti che implicavano dimensioni della sequenza molto grandi.
  • Corretto un errore del compilatore che si verificava quando non veniva utilizzato il valore restituito da ADJUST-ARRAY.
  • Ottimizzata l'emissione dei tipi delle funzioni da parte del compilatore, che possono essere propagati all'indietro attraverso la rappresentazione intermedia.
  • Migliorata l'emissione dei tipi per LDB, LOGBITP e RATIO.
  • Apportate ottimizzazioni relative all'esclusione di controlli di confine superflui per molti casi di confronti transitivi.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster