LINUX.ORG.RU

WCL — еще одна интересная реализация Common Lisp

 ,


0

3

Для тру:

«Common Lisp implementations for Unix have traditionally provided a rich development environment at the expense of an inefficient delivery environment. The goal of WCL is to allow hundreds of Lisp applications to be realistically available at once, while allowing several of them to run concurrently. WCL accomplishes this by providing Common Lisp as a Unix shared library that can be linked with Lisp and C code to produce efficient applications. For example, the executable for a Lisp version of the canonical ``Hello World!" program requires only 20k bytes on 32 bit x86 Linux. WCL also supports a full development environment, including dynamic file loading and debugging. A modified version of GDB is used to debug WCL programs, providing support for mixed language debugging. The techniques used in WCL should also be applicable to other high-level languages that allow runtime mappings from names to objects.»

http://pgc.com/commonlisp/

Жив курилка: https://github.com/wadehennessey/wcl

Ответ на: Блджад! от ados

Lisp version of the canonical ``Hello World!" program requires only 20k bytes on 32 bit x86 Linux.

Там все равно будет несколько мегабайт рантайма, просто в отдельной so-шке.

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

Чем ЭТО лучше SBCL?

Оно умеет делать разделяемые билиотеки для лиспа. В том числе свой рантайм.

antares0 ★★★ ()

И надо понимать что это очень очень старый вариант CL. В котором даже pathname-ы - отдельное новомодное расширение. А чего там еще не хватает остается только гадать.

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

И слава б-гу же, что он «не взлетел» в том самом смысле.

Я не знаю, какой смысл подразумевается, но сами лисперы, похоже, таки отчаянно вожделеют любого «взлёта».

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

Я не знаю, какой смысл подразумевается, но сами лисперы, похоже, таки отчаянно вожделеют любого «взлёта».

Но почему-то считают, что причина невзлета исключительно в недостатке еще одной реализации. Итого практически все новости связанные с лиспом - вышла новая версия новой реализации.

anonymous ()
Ответ на: комментарий от Hertz

Ъ теперь не только по ссылкам не ходят, но и дальше заголовка не читают?

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

Похоже, они взяли и сделали то

Сделал он, по моему единственй автор, это в конце 80-ых, задолго до ECL. И судя по коду с тех пор оно не особо развивалось. Похвастался и оставил закрытым. По-моему даже продавать пытался. Но судя по тому что народ о нем сегодня узнал впервые, особых коммерческих успехов не добился.

что ECL пытался сделать много лет.

ECL много лет встраваемый, ему проблемы решаемые wcl-ом не приниципиальны и даже излишни. В сущности еше много лет назд в обзорном докладе, автор wcl сравнивал производительность c одним из предков ecl и самокритично отмечал что как раз из-за его же тогдашней реализации динамического связывания производительность проседает в несколько раз. Смог ли автор перебороть это, с тех давних времен, оставим выяснять энтузиастам.

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

Но почему-то считают, что причина невзлета исключительно в недостатке еще одной реализации

Но они пытаются!

Virtuos86 ★★★★★ ()

Идея хороша. Года полтора назад смотрел. Подбил автора перейти с GPL на другую лицензию.

Там не очень FFI и GC какой-то свой упрощенный. Сишный код вроде генерил лишних сущностей. Общее ощущение хорошей задумки, но с легкой недопиленностью.

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

eclipse lisp

Где-то в тоже время когда ковырялся с WCL выбросили Eclipse Common Lisp с похожим концептом. Но он у меня падал часто из REPL-а. Сишный код по-моему выглядел поприятнее.

dr_jumba ()
Ответ на: комментарий от antares0

ECL то встраиваемый, но любая попытка им воспользоваться у меня заканчивалась странными падениями из-за неточной реализации стандарта. Между SBCL и CCL, например, прекрасно всё переносится, если не пользоваться sb-*:* и ccl:*

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

Подбил автора перейти с GPL на другую лицензию.

Потому что автор не подумал и ткнул в GPL «по-уолчанию», или по религиозным причинам?

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

Потому что автор не подумал и ткнул в GPL «по-уолчанию», или по религиозным причинам?

Я не знаю как он выбирал лицензию, я ему выложил свою точку зрения, что линковаться с GPL либой может быть не всем удобно.

Да, по «религиозным».

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

линковаться с GPL либой может быть не всем удобно.

Да, по «религиозным».

Нет, это как раз автор лицензию наугад выбирал.

Gentooshnik ★★★★ ()

оно же раньше толком не собиралось и не работало? обновили?

anonymous ()
Ответ на: комментарий от Hertz

тем, что здесь весь лисп в DLL-ках (.so-шках). одна из первых попыток сделать модульный лисп. например, сделать несколько .so для «полного» CLtL, или минималистичного интерактивного обновляемого или необновляемого в стиле DLL плугинами. то есть функции можно было раскидать по разным .so-шкам, сделать dev версию и production без компилятора, например.

в OpenDylan что-то похожее идеологически.

anonymous ()

executable for a Lisp version of the canonical ``Hello World!" program requires only 20k bytes on 32 bit x86 Linux

а раньше ЕМНИП, только под солярой работал.

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

кстати, сейчас интересны обновлённые таблички из paper, те же Gabriel benchmark по сравнению с SBCL, например, или с EuLisp/OpenLisp/Scheme какой-нибудь. кстати, у OpenLisp вполне себе ничо так полноценные бенчмарки и тесты по фичам.

anonymous ()
Ответ на: комментарий от buddhist

ну тут вроде бы достаточно dlopen :))

ещё в каком-то CMUCL был простой пример прямо в дистрибутиве, в contribs/ про то как из лиспа сгенерировать Сишный код, собрать, запустить и подгрузить через dlopen

anonymous ()
Ответ на: комментарий от dr_jumba

Там треды есть? Молодец, что подбил, я GPL принципиально не беру. Теперь есть предмет для разговора :)

den73 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.