LINUX.ORG.RU

Common Lisp на Java


0

0

Slava Pestov начал воплощать Armed Bear Common Lisp - реализацию Common Lisp, написанную на Java.

http://www.armedbear.org/abcl.html

По словам разработчика, ABCL намного превосходит так называемые "динамические" языки типа Groovy and Jython, получившие в последнее время такое широкое распространение, благодаря прежде всего компиляции в байт-код, а также тому, что ABCL - полноценная реализация Lisp

>>> Оригинал

anonymous

Проверено: Shaman007 ()

ABCL's CLOS is intolerably slow and does not handle on-the-fly redefinition of classes correctly. There is no support for the long form of DEFINE-METHOD-COMBINATION, and certain other required CLOS features are also missing. Enough CLOS is there to run ASDF and CL-PPCRE, if you're in no hurry. There's no MOP worth mentioning.

Очень сильно подозреваю, что лучшим решением было бы создать собственную lisp vm, заточенную под работу с парами.

P.S. Антихрист говорил, что очень сложно будет создать транслятор в байткод явовой вм, с языка, семантика которого сильно отличается от жабы. Что all думает по этому поводу?

ugoday ★★★★★
()

ага, мартышки в процессе написания шекспира

anonymous
()

оч. странно. С одной стороны, уже давно есть и работает jscheme. С другой - жаль проект jedit, если Слава его забросит...

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

Ну, 4.3-то пока что, вроде в планах...

svu ★★★★★
()

теперь Идиёту осталось намылить веревку и очистить генофонд человечества

anonymous
()

Что значит начал? ABCL уже несколько месяцев как относительно юзабельный.

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

В жопу иди, грязь. Я говорил, что невозможно создать ЭФФЕКТИВНЫЙ компилятор. А так - я сам таких компиляторов функциональных (и около) языков под JVM до фига разных написал.

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

>ABCL уже несколько месяцев как относительно юзабельный.

"А мужики-то" на LOR-е "не знают"©

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

слава пестов - странный, шизофренично амбициозный чел, судя по тому, что он на Javalobby пишет. Его JEdit в подмётки IntelliJ IDEA 3.0 не годится. По любому поводу у Славы есть мнение: "все педарасы адин я дортоньянь".

--седайко стюмчик

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

Насколько я помню, Lisp-подобные языки никогда не были быстрыми (рекурсивная обработка списков, всё же). И популярны они были больше из-за таких фич, как генерация собственного кода во время выполнения. об эффективности в таком случае речи и не идёт. Вообще, Lisp - это не эффективный (но мощный) язык, компилятор тут не при чём.

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

> Насколько я помню, Lisp-подобные языки никогда не были быстрыми
> (рекурсивная обработка списков, всё же). И популярны они были больше
> из-за таких фич, как генерация собственного кода во время выполнения.
> об эффективности в таком случае речи и не идёт. Вообще, Lisp - это не
> эффективный (но мощный) язык, компилятор тут не при чём.

CL-USER> (declaim  (optimize speed
                             (safety 0)
                             (space 0)
                             (debug 0)))
T
CL-USER> (defun my-func (x)
           (declare (fixnum x))
           (the fixnum (1+ x)))
MY-FUNC
CL-USER> (compile 'my-func)
MY-FUNC
NIL
NIL
CL-USER> (disassemble 'my-func)
;; disassembly of #<Function MY-FUNC>
;; formals:

;; code start: #x2083517c:
   0: 83 c0 04    addl    eax,$4
   3: f8          clc
   4: 8b 75 fc    movl    esi,[ebp-4]
   7: c3          ret
; No value

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

jedit и idea немного разные вещи. есть нужно редактировать что-то кроме явы, idea сразу идёт лесом и уступает всем, даже эклипсу. а так, да, странное он впечатление производит...

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

> Его JEdit в подмётки IntelliJ IDEA 3.0 не годится.

А что что вы думаете по поводу eclipse?

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

BTW, на самом деле сам компилятор в ABCL написан, собственно, на Common Lisp, а на Java, насколько я могу судить, написана библиотека поддержки - в основном, Lisp-ориентированные wrapper'ы (достаточно тупые) для жабовских классов.

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

> Посмотрим, кто кого? Антик или Славик?

А с каких это пор форумный клоун Луговский стал великим "программистом"? Что Махор реально умеет делать, кроме как реализовывать свои комплексы неполноценности на ЛОРе?

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

LOL! Ага, форумное чмо возомнило себя великим девелопером. Волочкова тоже себя великой балериной возомнила.:) Гы!:)

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

>Что Махор реально умеет делать, кроме как реализовывать свои комплексы неполноценности на ЛОРе?

Ну несколько лет тому назад, он вроде как начал реализовывать распозновалку текста, навроде Fine Reader'a, на ocaml по-моему. Надо спросить как продвигается дело? :)

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

А я несколько лет назад начал реализовывать полет на Марс.

Манилов

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

> Очень сильно подозреваю, что лучшим решением было бы создать > собственную lisp vm, заточенную под работу с парами.

Очень сильно подозреваю, что такая VM нахрен никому не сдалась, потому что современные компиляторы Лиспа генерируют нативный код. Который медленнее сишного в полтора-два раза только потому, что над GCC работает гораздо больше человек, чем на CMU CL или SBCL.

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

> Насколько я помню, Lisp-подобные языки никогда не были быстрыми (рекурсивная обработка списков, всё же). И популярны они были больше из-за таких фич, как генерация собственного кода во время выполнения. об эффективности в таком случае речи и не идёт. Вообще, Lisp - это не эффективный (но мощный) язык, компилятор тут не при чём.

У вас странные представления о Лиспе. Наверное, вы последний раз о нём читали в 80-х годах?

В Common Lisp есть и массивы (в т.ч. многомерные), и хэш-таблицы, и даже битовые строки. Так что "рекурсивной обработкой списков" дело не ограничивается.

Вам дали пощупать только ногу слона, а вы, как слепец из притчи, стали составлять о нём своё мнение: "Слон -- это вертикальный столб".

А первый компилятор Лиспа сделал ещё Маккарти в 60-х -- в Lisp 1.5 уже был компилятор.

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

Да нет, я просто, может быть, не очень понятно выразился (сорри) Оптимизировать можно что угодно, но принципа это не меняет.

P.S. В 80-х годах меня ещё на свете не было

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

А в Steel Bank Common Lisp вообще нет интерпретатора, только комплиятор. И ничего, замечательно работает.

Правда, компилятор доступен и в рантайме. Но заставить что-нибудь перекомпилироваться можно только с помощью EVAL или COMPILE. Не используйте их там, где не надо, и всё будет быстро.

anonymous
()

А цель ABCL -- писать на лиспе, но при этом использовать либы из Java. Есть ещё один аналогичный проект -- LinJ, но он с Common Lisp не совместим.

anonymous
()

Я как то скачая 9.2 eval и потом очень долго плювался ну совсем испортили дистрибутив ... а раньше (9.1) я считал его лучшим дистрибутивом !

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

Ты помнишь крайне плохо. Common Lisp - один из самых быстрых языков, в среднем на равных с C++ идёт, часто обгоняет.

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

Все остальные слоны пощупали слепого философа, и тоже согласились, что он - мокрый и плоский. ;)

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

Есть и ещё один - Jatha, не путать со сплайс-макроязыком для Java.

anonymous
()

Здраствуйте!
Скажите, а какой компилятор/интерпретатор/редактор вы используете для работы с гну коммон лиспом. Заранее спасибо.

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

Нельзя сравнивать IDE с программистским редактором. JEdit - один из лучших программируемых редакторов. Он программируется на BeanShell и имеет превосходный текстовый widget.

Bender_Rodriguez
()

> Slava Pestov начал воплощать Armed Bear Common Lisp

БРЕД! Слава Пестов не имеет к ABCL никакого отношения. ABCL вот уже 7(семь!) лет "воплощает" Питер Грейвс. До недавнего времени ABCL был встроен в J http://armedbear.org/j.html , и только с версии 0.0.5 распространяется отдельно.

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