Paglabas ng SBCL 2.3.9, isang pagpapatupad ng Common Lisp na wika

Ang paglabas ng SBCL 2.3.9 (Steel Bank Common Lisp), isang libreng pagpapatupad ng Common Lisp programming language, ay nai-publish. Ang code ng proyekto ay nakasulat sa Common Lisp at C, at ipinamamahagi sa ilalim ng lisensya ng BSD.

Sa bagong release:

  • Ang paglalaan ng stack sa pamamagitan ng DYNAMIC-EXTENT ay nalalapat na ngayon hindi lamang sa paunang pagbubuklod, kundi pati na rin sa lahat ng mga halaga na maaaring kunin ng variable (halimbawa, sa pamamagitan ng SETQ). Ginagawa nitong posible, halimbawa, na gawing simple ang pagbuo ng mga kumplikado o recursive na istruktura sa isang stack sa pamamagitan ng pag-ulit.
  • Ang ilang mga interface sa SB-POSIX module ay ginawa upang umayon sa detalye, at ang isang NULL na resulta mula sa C library ay itinuturing na isang error kung at kung ang errno ay binago ng tawag. Sa kasong ito, bubuo ang signal ng SYSCALL-ERROR.
  • Pinahusay na operasyon ng DO-PASSWDS at DO-GROUPS macros sa SB-POSIX module. Ang mga macro na ito ay idinisenyo upang gumana nang ligtas sa password at database ng grupo.
  • Ang suporta para sa Darwin x86 at PowerPC platform ay naibalik na (salamat kina Kirill A. Korinsky, Sergey Fedorov at barracuda156).
  • Inayos ang maling compilation na naganap dahil sa maling uri ng inference kapag nagpaparami ng mga halaga ng fixnum sa mga fractional na halaga.
  • Inayos ang isang error sa compiler na naganap sa ilang mga kaso kapag sinusuri ang mga nilagdaan at hindi nalagdaan na 64-bit na mga halaga.
  • Inayos ang isang compiler error kapag ang ":INITIAL-CONTENTS" na argument sa MAKE-ARRAY ay isang hindi pagkakasunod-sunod na pare-pareho.
  • Inayos ang isang error sa pag-compile ng mga convolution function sa isang ibinigay na sequence constant kapag nagbabalik ng false value mula sa ":TEST" o ":KEY" function.
  • Inayos ang isang bug kapag kino-compile ang mga function ng array o sequence na may mga argumento na nagpapahiwatig ng napakalaking laki ng sequence.
  • Inayos ang isang error sa compiler na nangyayari kapag hindi ginamit ang value na ibinalik mula sa ADJUST-ARRAY.
  • Na-optimize na compiler inference ng mga uri ng function na maaaring i-propagated pabalik sa pamamagitan ng isang intermediate na representasyon.
  • Pinahusay na uri ng inference para sa LDB, LOGBITP at RATIO.
  • Ginawa ang mga pag-optimize upang maalis ang mga hindi kinakailangang pagsusuri sa hangganan para sa maraming kaso ng mga transitive na paghahambing.

Pinagmulan: opennet.ru

Magdagdag ng komento