Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Common Lisp или Scheme?

Автор Алексей Гринь, мая 27, 2009, 04:10

0 Пользователи и 1 гость просматривают эту тему.

myst

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

myst

Цитата: Алексей Гринь от мая 27, 2009, 18:32
Нет, это те не форт. Как ты себе это представляешь? Там вроде и интерактивной консольки нету :(
А у реализаций CL мона. И интерактивный режим есть, и отладчик, и профилёр, и все дела. :)

Алексей Гринь

Цитата: myst от мая 27, 2009, 18:32
Компиляторы Схемы в С есть, а вот в машинный код, да штоб динамически...
Такое, по-моему, возможно только в стековых машинах.
На Коммон Лиспе есть чтоль такое?

Вобщем, я так и не смог ьзапустить ни примера :D Хорошая типа среда.

ЦитироватьА у реализаций CL мона. И интерактивный режим есть, и отладчик, и все дела. :)
Так я про один единственный Чикен говорю. При чм здесь бесчисленные реализации КЛ? У Схемы тоже полно реализаций, в которой есть и интерактивный режим, и отладчик, ПЛТ Схеме тот же, который у меня не хочет примеры кушать, правда.
肏! Τίς πέπορδε;

myst

Попробуй http://trac.clozure.com/ccl . Я сам не пробовал, но на ЛОР'е отзывались очень положительно.

myst

Цитата: Алексей Гринь от мая 27, 2009, 18:35
У Схемы тоже полно реализаций, в которой есть и интерактивный режим, и отладчик, ПЛТ Схеме тот же, который у меня не хочет примеры кушать, правда.
Но с компилятором в машинный код я ещё не встречал. Я просто года 3 назад выбирал между реализациями Схемы и CL. В итоге остановился на CLISP'е. Для зубочисток самое то. :)

myst

В общем, я тебе рекомендую сравнить возможности разных реализаций того и другого и выбрать наиболее подходящее. :)
Я слышал, у Схемы с переносимостью кода хуже дела. Но это было несколько лет назад.

oort

Цитата: Алексей Гринь от мая 27, 2009, 17:51
(define deck
  (let loop ([n DECK-COUNT])
А что это за фрагмент? Он неработоспособен на любом языке. :) Хинт -- разное количество открывающих и закрывающих скобок.

Pretty Big должен работать, вроде — вообще я их IDE не пользуюсь, но смотреть смотрел, и у меня остался сохраненным именно этот вариант.

oort

Что касается переносимости, то тут есть зерно истины. Но зависит, куда требуется переносимость. Одна и та же реализация обычно переносима между разными платформами, а PLT есть и под винды и под линух, и у меня работает даже на таблетке n810. Вот если требуется переносимость куда-нибудь, где нет PLT, тогда стоит более тщательно сформулировать цель.

myst

Цитата: oort от мая 27, 2009, 18:48
Что касается переносимости, то тут есть зерно истины. Но зависит, куда требуется переносимость.
Я неточно выразился. Я имел в виду переносимость кода между разными реализациями.

Алексей Гринь

Цитата: oort от мая 27, 2009, 18:44
А что это за фрагмент? Он неработоспособен на любом языке. :) Хинт -- разное количество открывающих и закрывающих скобок.
Не, я кусок только привёл, там далее всё нормально закрывается.
В режиме Pretty Big стал «работать», т.е. ошибок перестал выдавать. Но ничего не происходит, если запускать интуитивно логичное //checkers.ss :) А если запускать файл info (второй из двух файлов с расширением программ), то выдаёт ошибку, которую я привёл выше

ЦитироватьInteractions disabled: setup/infotab does not support a REPL (no #%top-interaction)

Но это он выдаёт в ИДЕ. Т.е. запускаю через ИДЕ. Может через что-то ещё надо? Непонятно.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от мая 27, 2009, 18:52
Но это он выдаёт в ИДЕ. Т.е. запускаю через ИДЕ.
Запусти в командной строке. А лучше забей на Схему и попробуй Clozure CL. Всё сам хочу попробовать, да трафика жаль. Драндулет, говорят, очень хороший. :)

oort

Инфо -- это совсем не то. Чекерс попробовал запустить, но обломился — у меня не установлена GL.

Можно действительно запускать руками -- mred <file>. ИДЕ я совсем не знаю.

Алексей Гринь

Цитата: oort от мая 27, 2009, 19:03
Можно действительно запускать руками -- mred <file>.
Под виндой муторно это всё так...
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от мая 27, 2009, 19:10
Под виндой муторно это всё так...
Use cygwin or coLinux, Luke! ;)
Второе кошернее.

oort

Ну, свои программы вполне можно запускать и из ИДЕ, ибо о своих все известно. А примеры — к ним сначала надо доки почитать, чтобы понять, как именно их запускать.

oort

Посмотрел — соседний с чекерсом блэкджек запускается так:
- загрузить
- кнопка run
- в диалоговом окне:
-- (require 'blackjack)
-- (invoke-unit game@)

Предполагаю, что чекерс запускается так же (с точностью до имени пакета).

addewyd

Цитата: Алексей Гринь от мая 27, 2009, 18:35
На Коммон Лиспе есть чтоль такое?
Цитата: myst от мая 27, 2009, 18:38
Но с компилятором в машинный код я ещё не встречал
CMU CL


myst

Цитата: addewyd от мая 27, 2009, 19:28
Цитата: Алексей Гринь от мая 27, 2009, 18:35
На Коммон Лиспе есть чтоль такое?
Цитата: myst от мая 27, 2009, 18:38
Но с компилятором в машинный код я ещё не встречал
CMU CL
Я про Схему говорил. У CL есть и не одна.

oort

Как-то мне кажется, что для лиспообразных языков компиляция в машинный код нужна только для галочки, что, мол, мы крутые, у нас она есть. В реальности лисповская идеология с современными процессорами плохо совместима. А при наличии хардверной лисп-машины вопрос о реализации обычно не стоит. :)

addewyd

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

addewyd

Цитата: oort от мая 27, 2009, 19:34
реальности лисповская идеология с современными процессорами плохо совместима
Современным компляторам пофиг идеология. Скомпилируют, оптимизируют...

oort

Возможно. Я лишь высказал свое мнение. А цму зело академична. На ней учат думать, но для реальной работы все же желательны немного другие подходы. Мне лично желательны, по крайней мере.

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

oort

Цитата: addewyd от мая 27, 2009, 19:38
Современным компляторам пофиг идеология. Скомпилируют, оптимизируют...
Скомпилировать-то скомпилируют. А вот смогут ли соптимизировать — вопрос. Ибо во многих случаях необходимые для оптимизации детали проявляются только на этапе выполнения.

В конце концов, у PLT тоже есть компилятор в исполнимый модуль. А что реально он содержит в себе тот же интерпретатор, интерпретирующий включенную в тот же экзешник программу, дело десятое.

Алексей Гринь

Цитата: oort от мая 27, 2009, 19:42
А что реально он содержит в себе тот же интерпретатор, интерпретирующий включенную в тот же экзешник программу, дело десятое.
Обычно мне такой подход больше нравится, ибо легче дебуггить если ошибка вдруг произошла на уже скомпиленной работающий проге (лишь бы ещё трансляция в джит была!..)
肏! Τίς πέπορδε;


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр