SBCL 2.3.9 релизи, Common Lisp тилинин ишке ашырылышы

Common Lisp программалоо тилинин акысыз ишке ашырылышы болгон SBCL 2.3.9 (Steel Bank Common Lisp) релиз жарыяланды. Долбоордун коду Common Lisp жана C тилдеринде жазылган жана BSD лицензиясы боюнча таратылат.

Жаңы чыгарылышта:

  • DYNAMIC-EXTENT аркылуу стек бөлүштүрүү азыр баштапкы байланышка гана эмес, өзгөрмө ала турган бардык маанилерге да тиешелүү (мисалы, SETQ аркылуу). Бул, мисалы, итерация аркылуу стектеги татаал же рекурсивдүү структураларды курууну жөнөкөйлөтүүгө мүмкүндүк берет.
  • SB-POSIX модулундагы кээ бир интерфейстер спецификацияга ылайык жасалган жана C китепканасынан NULL натыйжасы ката катары каралат, эгерде errno чалуу аркылуу өзгөртүлгөндө гана. Бул учурда, SYSCALL-ERROR сигналы түзүлөт.
  • SB-POSIX модулундагы DO-PASSWDS жана DO-GROUPS макросторунун жакшыртылган иштеши. Бул макростор сырсөз жана топтун маалымат базасы менен коопсуз иштөө үчүн иштелип чыккан.
  • Darwin x86 жана PowerPC платформаларын колдоо калыбына келтирилди (Кирилл А. Коринский, Сергей Федоров жана barracuda156га рахмат).
  • Fixnum маанилерин бөлчөк маанилерге көбөйтүүдө туура эмес жыйынтык чыгаруудан улам келип чыккан туура эмес компиляция түзүлдү.
  • Кол коюлган жана кол коюлбаган 64 биттик маанилерди текшерүүдө айрым учурларда пайда болгон компилятор катасы оңдолду.
  • MAKE-ARRAY үчүн ":INITIAL-CONTENTS" аргументи ырааттуу эмес константа болгондо, компилятор катасы оңдолду.
  • “: TEST” же “: KEY” функцияларынан жалган маанини кайтарып жатканда конволюция функцияларын берилген ырааттуулуктун константасына компиляциялоодо ката оңдолду.
  • Аргументтер менен катар функцияларды же тизмектерди түзүүдөгү ката оңдолду.
  • ADJUST-ARRAYден кайтарылган маани колдонулбаганда пайда болгон компилятор катасы оңдолду.
  • Аралык өкүлчүлүк аркылуу артка жайыла турган функциянын түрлөрү боюнча оптималдаштырылган компилятордун корутундусу.
  • LDB, LOGBITP жана RATIO үчүн жакшыртылды.
  • Өтмө салыштыруунун көптөгөн учурлары үчүн керексиз чектерди текшерүүнү жок кылуу үчүн оптималдаштыруу жасалды.

Source: opennet.ru

Комментарий кошуу