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 үшін жақсартылған түр қорытындысы.
  • Өтпелі салыстырудың көптеген жағдайлары үшін қажетсіз шектеулерді тексеруді жою үшін оңтайландырулар жасалды.

Ақпарат көзі: opennet.ru

пікір қалдыру