LINUX.ORG.RU

Ответ на: комментарий от Love5an

>http://github.com/Lovesan/virgil

О, занятно. Только из README я не одно не понял - зачем оно нужно, если есть CFFI? Во что мы будет маршаллить лисповые объекты и что с ними будет делаться и как по ту сторону FFI?

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

и да, никаких танцов с параметрами eval-when в Схеме не нужно =)

(это я в общем, а не про Virgil, его не смотрел даже)

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

> Давай будем реалистами

Я всё готов понять, но вот это-то нахрена?

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

>Щас ещё ANSI Common Lisp на русском

Лисптросян в треде:

(опртип б8 () '(беззнак-байт 8))

(опфун пузырь-сорт (век старт конец)
  (опред (тип фиксчис старт конец)           
           (тип (простой-массив б8 (*)) век))
  (цикл :для обменяный :типа булев = нуль
        :делать (цикл :для и фиксчис :от старт :вниз (1- конец)
                  :делать (когда (> (поссыл век и) (поссыл век (1+ и)))
                        (повернутьф (поссыл век и) (поссыл век (1+ и)))
                        (установф обменяный т)))
        :пока обменяный))
legolegs ★★★★★
()

В Чехию завезли ударную партию метамфетаминов?

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

>зачем оно нужно, если есть CFFI?
CFFI слишком низкоуровневое, мало расширяемое, и не маршалит аггрегированные типы.

Во что мы будет маршаллить лисповые объекты и что с ними будет делаться и как по ту сторону FFI?

Маршаллить в неуправляемую память. А что будет делаться - это смотря как и что маршаллить. Там есть несколько встроенных алгоритмов маршаллинга - для структур, или массивов, например - они в памяти представляются как сишные структуры и массивы соответственно. «Та сторона FFI» их может изменять, и мы можем наблюдать изменения на стороне лиспа(это достигается с помощью «ссылок»; кстати, можем и не наблюдать, если указали что маршаллинг только в одну сторону).

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

Я бы даже посмеялся, если бы не читал русский вариант «Smalltalk-80. Язык и реализация» =]

Меня еще в 6-м классе сильно побили вот этим, потому мне тоже не до смеха

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

Баклажанные плантации?

Да, за морем.

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

Тех, кто решит изучать это ваш хвалёный лисп, и столкнётся с необходимостью выбора IDE. Нормальной бесплатной IDE, как уже говорил, нет, а ваш хвалёный емакс, который в каждую дыру суют, обладает удобностью управления, как у угольного паровоза.

lisp-in-box и вся недолга, как ловкое приложение к небезызвестной книге П. Сайбеля + все куски кода оттуда

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

>зато есть непонятно нахрен нужные продолжения

А вот не надо про это. Очень они нужные.

отдельное значение для False(которое не равно NIL - соответственно при работе со списками сплошные неудобства).

А вот в CL не помешало бы завести отдельно значение для false (но которое бы вместе с NIL было бы «ложным»). Ибо удобно это иногда.

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

> отдельно значение для false (но которое бы вместе с NIL было бы «ложным»).

зачем?

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

>А вот в CL не помешало бы завести отдельно значение для false (но которое бы вместе с NIL было бы «ложным»). Ибо удобно это иногда.

Дык
(defconstant false nil)

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

>А пакетов хватает для тех целей, для которых они предназначаются(коллекции символов)(не, ну круто конечно было бы иерархические пакеты, да).

Ну если посмотреть, то система пакетов по современным меркам имеет ряд неприятностей. Например, то, что никнеймы определяются в исходном пакете, а не в целевом пакете, плохое поведение defpackage при несовпадении набора экспортируемых символов, кривое разрешение конфликтов имен при импорте.

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

>и да, никаких танцов с параметрами eval-when в Схеме не нужно =)

Собственно, как и в CL.

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

>не заметил тормозов (в сравнение с дефолтной PLT) в Swindle
А если сравнивать с CLOS в SBCL?

система модулей PLT позволяет настраивать readtable для каждого модуля отдельно

Это уже не схема, это Racket, или как его там. Я про то, что есть в стандарте. Понятно, что реализации идут кто во что горазд, и в т.ч. добавляют CL-подобные фичи.

теоретических проблем с этим нет.

А практически - их нет.

инкрементальная компиляция не принята в Схемах

О чем я и говорю.

входит в стандарт? =)

Де-факто.

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

всё же хотелось бы услышать в каких случаях это необходимо.

ugoday ★★★★★
()

Я в данный момент в час по чайной ложке учу одновременно cl, clojure и scheme, плюс мелкие поделки для емакса. Но все это на достаточно примитивном уровне. Учу уже давно и еще дольше буду доходить до кондиции, чтобы суметь написать что-либо серьезное. Но языки мне очень нравятся. Хоть я и всегда не прочь потроллить на эту тему :)

Zubchick
()

Scheme. Изучается во всех порядочных университетах, хороший, развивающийся стандарт, SRFI, простота(в т.ч. создания нового компилятора), намного лучшая совместимость между реализациями, человеческие FFI, batteries included во всех основных реализациях, сильно меньшее количество слабоумных в сообществе, прекрасная свободная IDE (drRacket, хотя эмакс никто не отменял конечно), официальный язык расширений GNU. Если не нужны сильно навороченные фичи CLOS, макры чтения, опциональная типизация SBCL, CL использовать незачем.

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

>Тех, кто решит изучать это ваш хвалёный лисп, и столкнётся с необходимостью выбора IDE. Нормальной бесплатной IDE, как уже говорил, нет, а ваш хвалёный емакс, который в каждую дыру суют, обладает удобностью управления, как у угольного паровоза.

http://www.linux.org.ru/gallery/screenshots/5210874

А что, у всего из себя ынтерпрайзного LispWorks нет среды приличней Emacs?

Приличней Емакса ничего не бывает. Графический IDE есть.

mv (10.08.2010 15:28:45)

ээээ?

Drdiesel
()

Объсните так чем отличается Emacs Lisp от CL от Scheme? Я так понимаю это лишь диалекты?

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

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

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

Ну как бы там ни было - CL это более масштабное явление.

Love5an

Я с тобой вообще согласен, во многом, но зачем же так жёстко на Scheme'у то? Это же не python какой-нибудь, и ни Java и не C++ :))

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

ээээ?

Это «толстый троллинг» по заказу топикстартера. )

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

> Сравни подачу материала с тем, как это делается в PCL. В последнем первые пол книги в каждом разделе куча оговорок типа «это вот так, потому что это так, а что это зачем и почему я объясню позднее». В СИКПе же такого и близко нет, объяснили порядок редукции лямбда-термов и попёхали программить в полный рост.

+1, мне тоже это в PCL очень не понравилось. Автор слишком сильно ударился в «практичность», уже во второй главе (не считая введения) рвётся писать «БД на коленке», без достаточно глубокого понимания что там и как происходит, из-за чего читателю начинает казаться, что CL отличается от остальных «традиционных» языков только обилием скобок. У меня лично на этом месте желание читать PCL дальше вообще пропало (хорошо, что не пропало желание изучить CL...).

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

>Я перестал ездить на MTB, отказался от мяса и пива, уезжаю из Чехии.

Садись на трековый вел, ешь соевые битки, будь японцем.

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

>>> браузеры до сих пор на C++ пишут, и не чешутся

браузеры не нужны.

Ну хорошо, пусть будет ядро ОС.

ядро ОС на С++ не нужно

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

> мы напишем ОС на лиспе, с лямбдами и скобками

пупок развяжется.

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

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

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

Совершенно другой? Ну-ну. Те же яйца только в профиль

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

> из-за чего читателю начинает казаться, что CL отличается от

остальных «традиционных» языков только обилием скобок.


По большому счёту оно так и есть. Или чем он по вашему отличается?

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

>> +1, мне тоже это в PCL очень не понравилось. Автор слишком сильно ударился в «практичность», уже во второй главе (не считая введения) рвётся писать «БД на коленке», без достаточно глубокого понимания что там и как происходит, из-за чего читателю начинает казаться, что CL отличается от остальных «традиционных» языков только обилием скобок. У меня лично на этом месте желание читать PCL дальше вообще пропало (хорошо, что не пропало желание изучить CL...).

для таких как ты там специально написано: The point of this chapter isn’t that this is how you would write a database in Lisp; rather, the point is for you to get an idea of what programming in Lisp is like and to see how even a relatively simple Lisp program can be quite featureful.

И если ты читал эту главу внимательно, то наверное обратил внимание на то, что там тебя знакомят с замыканиями, макросами, IO lisp-way, определениями функций и т.д., что потом разжевывается на протяжении всей книги. Ты ее дочитал хотя бы?

А вообще это пипец - логика: CL гумно, потому что ниасилил PCL...

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