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

Common Lisp или Scheme?

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

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

myst

Цитата: oort от мая 27, 2009, 19:34
Как-то мне кажется, что для лиспообразных языков компиляция в машинный код нужна только для галочки, что, мол, мы крутые, у нас она есть. В реальности лисповская идеология с современными процессорами плохо совместима.
Я бы так не сказал. Компилирующие реализации заметно быстрее байткодовых.


myst

Цитата: Алексей Гринь от мая 27, 2009, 19:45
Обычно мне такой подход больше нравится, ибо легче дебуггить если ошибка вдруг произошла на уже скомпиленной работающий проге
Ну не знаю, разведением слонопотамов заниматься... :)

addewyd

А clisp всё-таки игрушка. Хорошая, да. И ещё хорошо, что с одни из разработчиков можно по-русски общаться)

addewyd

А вообще рекомендую хаскель. как раз для лингвистов)

myst

Цитата: addewyd от мая 27, 2009, 20:19
А clisp всё-таки игрушка. Хорошая, да.
Для зубочисток — милое дело. А для взрослых вещей можно взять взрослую реализацию, благо они есть.

myst

Цитата: addewyd от мая 27, 2009, 20:20
А вообще рекомендую хаскель. как раз для лингвистов)
Для лингвистов есть специализированный софт. Зачем им травмировать мозг программированием?

oort

Цитата: addewyd от мая 27, 2009, 20:20
А вообще рекомендую хаскель. как раз для лингвистов)

addewyd

Цитата: myst от мая 27, 2009, 20:25
Для лингвистов есть специализированный софт

Я имею ввиду язык как объект, не средство)

Цитата: oort от мая 27, 2009, 20:26
А что можно по хаскелю в инете найти (на русском или английском), чтобы понять, что это такое, и хочу ли я его?
Конечно. //haskell.org

myst

Цитата: oort от мая 27, 2009, 20:26
А что можно по хаскелю в инете найти (на русском или английском), чтобы понять, что это такое, и хочу ли я его?
Когда я последний раз интересовался, была спецификация для создателей трансляторов. Об неё-то я сломал мозг и надежду понять, что такое Haskell. :)

addewyd

Цитата: myst от мая 27, 2009, 21:10
неё-то я сломал мозг и надежду понять, что такое Haskell
Видимо, вы ненастоящий лингвист :)

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

Цитироватьчтобы понять, что это такое, и хочу ли я его?

Хаскель нужен для трёх вещей, чтобы
1) иметь возможность сказать друзьям: "я крут, я пишу на хаскеле"
2) сдать преподу лабу
3) потренировать мозги всякими безделушными проектами типа хелловорлд через монады

Всё.
肏! Τίς πέπορδε;

myst


addewyd

Цитата: Алексей Гринь от мая 27, 2009, 21:20
потренировать мозги
завсегда полезно.

Цитата: Алексей Гринь от мая 27, 2009, 21:20
безделушными проектами
Не скажите.  Так можно и всю математику перечерекнуть.

myst

Язык программирования — это в первую очередь инструмент. Он должен быть полезен практически.

oort

Хм. Формальные определения — это, конечно, очень хорошо, а более человекообразного описания нигде нет? Чтобы не учить язык в совершенстве (это, возможно, понадобится потом), а составить предварительное мнение о том, хочу ли я его учить. А то он далеко не один в очереди...
Цитата: Алексей Гринь от мая 27, 2009, 21:20
Цитироватьчтобы понять, что это такое, и хочу ли я его?
Хаскель нужен для трёх вещей, чтобы
1) иметь возможность сказать друзьям: "я крут, я пишу на хаскеле"
2) сдать преподу лабу
3) потренировать мозги всякими безделушными проектами типа хелловорлд через монады
Всё.
Такие мнения я тоже слышал. Вот потому и хочу составить собственное. Но, видимо, не настолько сильно хочу, чтобы читать низкоуровневое руководство. :)

myst

Цитата: oort от мая 27, 2009, 21:27
Но, видимо, не настолько сильно хочу, чтобы читать низкоуровневое руководство. :)
То есть за последние 6—8 лет ничего не изменилось? :)

oort

Цитата: myst от мая 27, 2009, 21:30
То есть за последние 6—8 лет ничего не изменилось?
Э... В где?


oort

Цитата: myst от мая 27, 2009, 21:34
В документации на Haskell.
На первый взгляд, видимо, если и изменилось, то немного.

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

Радует, что PLT Scheme умеет создавать stand-alone distribution archives.
Только приходиться платить ценою в мегабайты.

Написал простенькую гуишку:
#lang scheme
(require scheme/gui/base)

(define action-frame%
  (class frame%
    (super-new (label "Actions Window") (width 300) (height 300))
   
    (define top-menu-bar
      (new menu-bar% (parent this)))
    (define actions-menu
      (new menu% (label "Actions") (parent top-menu-bar)))
    (define close-menu-item
      (new menu-item%
           (label "Close")
           (parent actions-menu)
           (callback (lambda (self e)
                       (send this show #f)))))))

(send (new action-frame%) show #t)


В итоге он мне родил zip-архив размером 3.66 мб, который по разархивации имеет размер все 9.21 мб :o

Интересные файлы он содержит:
window_test.exe
iconv.dll
libmred3m_6mqxfs.dll
libmzsch3m_6mqxfs.dll
UnicoWS.dll

Всё.

И вот мне что интересно — он тупо интерпретирует вшитый в эксешник байткод (если не целиком s-выражения) или там действительно идёт компиляция в натив? Могу ли я расчитывать на скорость?
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от мая 29, 2009, 04:01
Только приходиться платить ценою в мегабайты.
Ну дык, я ж не зря намекал на слонопотамов. :)

myst

Цитата: Алексей Гринь от мая 29, 2009, 04:01
Могу ли я расчитывать на скорость?
Хочешь скорости — возьми взрослую реализацию CL. :smoke:

oort

Цитата: Алексей Гринь от мая 29, 2009, 04:01
И вот мне что интересно — он тупо интерпретирует вшитый в эксешник байткод (если не целиком s-выражения) или там действительно идёт компиляция в натив? Могу ли я расчитывать на скорость?
http://docs.plt-scheme.org/guide/performance.html

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

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

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

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

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