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 ()

Re: Common Lisp на Java

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 ★★★★★ ()

Re: Common Lisp на Java

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

anonymous ()

Re: Common Lisp на Java

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

svu ★★★★★ ()
Ответ на: Re: Common Lisp на Java от svu

Re: Common Lisp на Java

Он его уже давно забросил, не разрабатывает, только мантейнит.

anonymous ()
Ответ на: Re: Common Lisp на Java от ugoday

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

svu ★★★★★ ()

Re: Common Lisp на Java

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

anonymous ()

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

SPECTATOR ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

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

anonymous ()
Ответ на: Re: Common Lisp на Java от SPECTATOR

Re: Common Lisp на Java

ну пошли отмазки. это ж не по мужски =)

зы. а стране метана не хватает

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

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

anonymous ()
Ответ на: Re: Common Lisp на Java от SPECTATOR

Re: Common Lisp на Java

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

Spectrum ()
Ответ на: Re: Common Lisp на Java от Spectrum

Re: Common Lisp на Java

> Насколько я помню, 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 ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

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

anonymous ()
Ответ на: Re: Common Lisp на Java от SPECTATOR

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

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

sigill ()
Ответ на: Re: Common Lisp на Java от sigill

Re: Common Lisp на Java

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

Манилов

anonymous ()
Ответ на: Re: Common Lisp на Java от ugoday

Re: Common Lisp на Java

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

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

anonymous ()
Ответ на: Re: Common Lisp на Java от Spectrum

Re: Common Lisp на Java

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

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

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

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

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

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

Spectrum ()
Ответ на: Re: Common Lisp на Java от Spectrum

Re: Common Lisp на Java

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

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

anonymous ()

Re: Common Lisp на Java

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

anonymous ()

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от Spectrum

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

anonymous ()

Re: Common Lisp на Java

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

anonymous ()
Ответ на: Re: Common Lisp на Java от anonymous

Re: Common Lisp на Java

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

Bender_Rodriguez ()

Re: Common Lisp на Java

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

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

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