LINUX.ORG.RU

Steel Bank Comon Lisp (SBCL) 2.4.9

 , , ,


0

2

29 сентября было объявлено о выходе корректирующего обновления свободной реализации языка программирования Common Lisp sbcl-2.4.9.

Пакет sbcl включает в себя компилятор, профайлер, дебаггер и другие полезные расширения. Распространяется как общественное достояние, с частями под лицензией MIT. Большая часть кода sbcl написана на Common Lisp. Официально поддерживаются платформы x86, x86-64, PowerPC, SPARC, Alpha, MIPS, HPPA, ARM с Linux, а также ряд других операционных систем на аппаратных плафтормах x86 и x86-64.

Изменения в выпуске 2.4.9:

  • Незначительное нарушение совместимости с предыдущими версиями: FIND, POSITION (и их варианты) теперь проверяют аргументы :START и :END на корректность как ограничивающие указатели индексов (bounding index designators) для последовательностей списков.
  • Поддержка платформ:
    • Улучшена поддержка Solaris и ее вариантов на x86 и x86-64 (благодарности Masatoshi SANO)
    • Исправлен баг в обработке таймаутов и прерванных системных вызовов в SB-UNIX:UNIX-SIMPLE-POLL (lp#2078824, благодарности Michał phoe Herda)
    • Исправлен баг в лисповом представлении ssize_t в Windows
    • Исправлено кодирование больших констант в RISC-V. (lp#2077307, благодарности Guillaume LE VAILLANT)
    • Более экономичные низкоуровневые типовые тесты на arm64
    • Сборка после выполнения git-archive должна завершаться без ошибок.
  • Исправлен баг: экспортирование символа во врема итерации пакета больше не пропускает другие символы. (lp#2080387, благодарности kbhit).
  • Оптимизация: улучшения в хэш-таблицах EQ и связанных хэш-функциях.
  • Оптимизация: проверка типа строки и строки-обозначения (string-designator) сделана более эффективной.
  • Оптимизация: компилятор лучше понимает природу результата CONCATENATE.

>>> Подробности



Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 1)

всегда было интересно пощупать «взрослые» лиспы, но дальше туториала по емакс-лиспу так никогда и не ушёл..

Поздравляю всех кому это интересно!

В том числе (вероятно) lovesan, den73, monk.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

В практическом смысле - для связи с ОС, написанной на Си(как примерно все мейнстримные ОС), имеющей сишное API и сишное ABI, удобнее использовать Си.

Но никакой принципиальной сложности переписать все на лиспе, учитывая что в SBCL имеется компилятор в машкоды - нет.

lovesan ★★
()
Ответ на: комментарий от unDEFER

Код SBCL основан на разработке из Университета Карнеги–Меллона, Carnegie Mellon University Common Lisp. Название форка обыгрывает этот факт: Карнеги, в честь которого назван университет, был сталепромышленником, а Меллон — банкиром.

xsaeta
() автор топика
Ответ на: комментарий от lovesan

В практическом смысле - для связи с ОС, написанной на Си(как примерно все мейнстримные ОС), имеющей сишное API и сишное ABI, удобнее использовать Си.

Там сборщик мусора написан на Си. С ОС он никак не связан, если не считать трёх вызовов mmap и munmap.

Вертишься как глист на сковородке!

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

bike-c невозможен потому что в Си нет интроспекции.

Но есть CFFI.

для автоматизации есть CFFI-GROVEL, берет информацию из хедеров

Grovel я его не использую т.к. обычно делаю что-то кастомное и красивое, а не просто автоматом сгенерированное обертки, т.к. сишный и лисповый подход к разработке отличается.

та библиотека заброшена, но все думаю опять за нее взяться

lovesan ★★
()
Ответ на: комментарий от lovesan

bike-c невозможен потому что в Си нет интроспекции

Для чего она нужна? Получить типы, функции, можно из /usr/include, в процессе выполнения программы они не меняются.

Grovel я его не использую т.к. обычно делаю что-то кастомное и красивое, а не просто автоматом сгенерированное обертки

А зачем генерировать, если можно сделать некий пакет, который позволит

(c-include stdio.h)
(c-call printf "hello world!")

т.к. сишный и лисповый подход к разработке отличается

И GC в С нету, и много других различий, но это уже обертка, я говорю про сам вызов функций, создание структур.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 4)
Ответ на: комментарий от lovesan

(c-include stdio.h)

лисп так не работает

В чем проблема?

CFFI примерно вот это и позволяет

Без c-include это не отличается от того что есть в других языках.

MOPKOBKA ★★★★
()
Ответ на: комментарий от MOPKOBKA

(c-include stdio.h)

лисп так не работает

В чем проблема?

Да вроде ни в чём, надо просто реализовать парсер C и CPP (который препроцессор). @lovesan, где я ошибаюсь?

Gentooshnik ★★★★★
()
Ответ на: комментарий от Gentooshnik

Можно взять готовый. В metaprog использовался castxml, но у него был недостаток, макросы не подхватывались. В идеале они тоже должны работать.

MOPKOBKA ★★★★
()
Ответ на: комментарий от Gentooshnik

как в контексте лиспового кода эта вещь будет выполняться? и когда?

а вообще так то, примерно это гровеллер cffi делает, но он генерирует определения потом, прочесывая файлы, а не просто «инклюдит»

lovesan ★★
()

дебаггер

В русском языке это называется «отладчик».

slackwarrior ★★★★★
()
Ответ на: комментарий от Gentooshnik

А со сборкой мусора особенности всегда будут. Вот это уже намного лучше чем ручной перевод, или отдельное генерирование каких то левых файлов.

MOPKOBKA ★★★★
()

ностальгическую слезу прошибло..

столь убогих сайтов как sbcl.org и common-lisp.dev (на который там ссылки) не видел со времён модемов на 14400 и мега-провайдера демос..

MKuznetsov ★★★★★
()

Вот это хорошая вещь, в хозяйстве нужная.

RectalReactor
()
Ответ на: комментарий от gns

На Поскале. Войдите уже в профессию, наконец.

rupert ★★★★★
()
Ответ на: комментарий от MKuznetsov

Тут рядом новость про Lagrange лежит. Эти товарищи, получается, сознательно делают убогие сайты, и от других того же требуют. Там даже картинки вставлять в страницу нельзя.

Gentooshnik ★★★★★
()
Ответ на: комментарий от Gentooshnik

Что вам нужно от сайта компилятора? Документация есть, ссылки на исходники и сборки есть. Полезное всякое тоже присутствует. Чего же боле?

ugoday ★★★★★
()
Ответ на: комментарий от MKuznetsov

Не, нуачо! Нормальный полезный сайт без пищалок и перделок. Чо еще надо-то? Есть еще люди, которым web для дела нужен. Одобрямс, кароч.

gns ★★★★★
()
Ответ на: комментарий от xsaeta

Не удивлюсь, если студенты Карнеги–Меллона свой университет так называют :)

gns ★★★★★
()
Ответ на: комментарий от lovesan

Меньше ручной, бесполезной, низкоинтеллектуальной писанины. У тебя уже описаны интерфейсы как пользоваться библиотекой, зачем их дублировать?

Делать поверх обертки, что бы привести к Lisp-виду нужно, но это совсем другое занятие.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.