SBCL 2.3.9 izlaišana, Common Lisp valodas ieviešana

Ir publicēts SBCL 2.3.9 (Steel Bank Common Lisp), bezmaksas Common Lisp programmēšanas valodas ieviešanas izlaidums. Projekta kods ir rakstīts Common Lisp un C valodā, un tas tiek izplatīts saskaņā ar BSD licenci.

Jaunajā laidienā:

  • Steka piešķiršana, izmantojot DYNAMIC-EXTENT, tagad attiecas ne tikai uz sākotnējo saistīšanu, bet arī uz visām vērtībām, ko mainīgais var iegūt (piemēram, izmantojot SETQ). Tas ļauj, piemēram, vienkāršot sarežģītu vai rekursīvu struktūru veidošanu kaudzē, izmantojot iterāciju.
  • Dažas SB-POSIX moduļa saskarnes ir izveidotas tā, lai tās atbilstu specifikācijai, un NULL rezultāts no C bibliotēkas tiek uzskatīts par kļūdu tad un tikai tad, ja izsaukums maina kļūdu. Šādā gadījumā tiks ģenerēts SYSCALL-ERROR signāls.
  • Uzlabota DO-PASSWDS un DO-GROUPS makro darbība SB-POSIX modulī. Šie makro ir izstrādāti, lai droši strādātu ar paroli un grupu datu bāzi.
  • Ir atjaunots Darwin x86 un PowerPC platformu atbalsts (pateicoties Kirilam A. Korinskim, Sergejam Fedorovam un barracuda156).
  • Izlabota nepareiza kompilācija, kas radās kļūdaina tipa secinājuma dēļ, reizinot fiksācijas vērtības ar daļskaitļu vērtībām.
  • Novērsta kompilatora kļūda, kas dažos gadījumos radās, pārbaudot parakstītas un neparakstītas 64 bitu vērtības.
  • Novērsta kompilatora kļūda, kad MAKE-ARRAY arguments ":INITIAL-CONTENTS" ir bezsecības konstante.
  • Novērsta kļūda, kompilējot konvolūcijas funkcijas noteiktā secības konstantē, atgriežot nepatiesu vērtību no funkcijām “:TEST” vai “:KEY”.
  • Izlabota kļūda, kompilējot masīva funkcijas vai secības ar argumentiem, kas nozīmē ļoti lielus secību izmērus.
  • Novērsta kompilatora kļūda, kas rodas, ja netiek izmantota vērtība, kas atgriezta no ADJUST-ARRAY.
  • Optimizēts kompilatora secinājums par funkciju veidiem, kurus var izplatīt atpakaļ, izmantojot starpposma attēlojumu.
  • Uzlabota tipa secinājumi LDB, LOGBITP un RATIO.
  • Ir veiktas optimizācijas, lai novērstu nevajadzīgas robežu pārbaudes daudzos pārejas salīdzināšanas gadījumos.

Avots: opennet.ru

Pievieno komentāru