Verëffentlechung vun SBCL 2.3.11, eng Ëmsetzung vun der Common Lisp Sprooch

D'Verëffentlechung vum SBCL 2.3.11 (Steel Bank Common Lisp), eng gratis Ëmsetzung vun der Common Lisp Programméiersprooch, gouf publizéiert. De Projet Code ass a Common Lisp a C geschriwwen, a gëtt ënner der BSD Lizenz verdeelt. An der neier Verëffentlechung:

  • Kleng Inkompatibilitéiten:
    • Streame mat externen Format spezifizéiert mat ":REPLACEMENT" wäerten d'Donnéeën uwenden fir d'Informatioun eemol pro Stream ze ersetzen, wat zu Dekodéierungsfehler resultéiert (anstatt, an e puer Fäll, eemol fir eng Sequenz vu Bytes, déi all net e gültege Charakter ass Ausgangspositioun fir dëst extern Format).
    • Extern Format Spezifizéierer signaliséieren elo e Feeler wann Dir net ënnerstëtzten oder net unerkannten Varianten benotzt.
  • Verbesserungen:
    • Wann Dir generesch Funktiounen verschéckt déi d'Standard oder d'Kuerzkombinatiounsmethod benotzen, wa keng primär Methoden verfügbar sinn, nennt de System déi generesch Funktioun SB-PCL:NO-PRIMARY-METHOD, deem säi Standardverhalen ass e Feeler ze signaliséieren. D'Benotzer kënnen Methode fir dës generesch Funktioun definéieren.
    • Extern Formater ënnerstëtzen elo Newline Varianten fir Single-Byte an utf-8 Kodéierungen.
    • Charakter Kodéierungs- an Dekodéierungsfehler signaliséiert vu Stream- oder Oktettfunktiounen ënnerstëtzen elo USE-VALUE Restart fir Handler déi Input- oder Output-Auswiesselungen ubidden.
    • READ-SEQUENCE a WRITE-SEQUENCE ënnerstëtzen Benotzerdefinéiert Sequenzen; d'Standard Implementatioun Prozesser Element vun Element, liesen oder schreiwen een Byte oder Charakter ze / aus dem Baach, respektiv.
  • Optimisatiounen:
    • Extern Formater mat: REPLACEMENT Bindung net méi Fehlerhandterer fir Konversiounsfunktiounen, déi d'Zuel vun den Nodeeler Operatiounen reduzéieren an d'Performance verbesseren.
    • Wann :EXTERNAL-FORMAT d'Argument fir STRING-TO-OCTETS oder OCTETS-TO-STRING ass an eng Kompiléierungszäitkonstant ass, da gëtt dat externt Format bei der Laaschtzäit geléist anstatt bei all Uruff.
    • De Compiler kann d'Typen vun Argumenter fir e puer Funktiounen beschränken op Basis vun der ofgeleeten oder implizéierter Aart vum Wäert, dee vun där Funktioun zréckgeet.
    • De Compiler reduzéiert d'Zuel vun de redundante Typchecken a Funktiounen wéi ASSOC a GETF.
  • Bug Fixes:
    • OCTETS-TO-STRING signaliséiert korrekt oder applizéiert Auswiesselungen wann Dir Single-Byte extern Formater benotzt fir manner heefeg Kodéierungen (wéi ISO-8859-3), anstatt Bits vun der NIL Adress ze huelen an dës Bits an Zeechen ëmzewandelen.
    • FILE-STRING-LENGTH gëtt elo NIL zréck wann d'Inputwäerter net an den externen Streamformat kodéiert sinn.
    • Tabulär Multibyte extern Formater (EUC-JP, Shift-JIS, GBK) respektéieren elo den Ersatz Charakter (am externen Format oder iwwer Neistart) beim Kodéieren an Oktetten.
    • Ëmwandlung vun Oktetten mat externen UCS-2, UCS-4 an UTF-32 Formater liest net méi d'Enn vun enger Oktett-Array mat enger net ganz Zuel vun zwee- oder véierbyte-Eenheeten.
    • Konvertéiere vun Oktetten mat externen UCS-2, UCS-4 an UTF-32 Formater gëtt elo eng einfach String zréck, wéi néideg vun der OCTETS-TO-STRING Typ Definitioun.
    • D'Benotzung vun engem falschen externen Argumentformat fir OPEN oder WITH-OPEN-FILE (oder intern MAKE-FD-STREAM) verursaacht net méi e Fichier Descriptor Leck.
    • SB-ROTATIOUN-BYTE definéiert BYTE Spezifikatioune ausserhalb Grenzen virun Nodeeler vun ganz grouss ganz Zuelen Masken a Verréckelung ze benotzen.
    • Fix Typ Inferenz wann Dir SB-ROTATE-BYTE Forme mat Net-Null POSITION an der Byte Definitioun kompiléiert.
    • Fixéiert verschidde Assemblerfehler beim Zesummesetzung vun MAKE-ARRAY, MAKE-STRING an anerer mat enger grousser konstanter Gréisst.
    • Fix intern Feeler beim Zesummesetzung (SETF-SBIT) mat grousse konstante Index.
    • Fixéiert intern Compiler Feeler fir Lambda Funktioun mat falscher Parameter Lëscht an LABELS.
    • Fixéiert en internen Compilerfehler wann Dir e puer onendlech rekursive Forme vu LABELS kompiléiert.
    • En internen Compiler Feeler fixéiert wann Dir probéiert e Sprong op e scho geläschte Label ze inline.
    • FILL-POINTER soll ni negativ sinn.

Source: opennet.ru

Kaaft zouverlässeg Hosting fir Site mat DDoS Schutz, VPS VDS Server 🔥 Kaaft zouverléissegt Websäithosting mat DDoS-Schutz, VPS VDS Server | ProHoster