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

Common Lisp или Scheme?

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

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

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

Сабж.
И какая из бесплатных систем самая развитая?
肏! Τίς πέπορδε;

oort

Субъективно. Мне схема ближе существенно большей регулярностью. Лисп в этом отношении слишком эклектичный, ближе к естественным языкам — такой же запутанный время от времени вносимыми новшествами, плохо (на мой взгляд) совместимыми с тем, что было раньше.

Реализации — у лиспа собственно CLisp и есть, у схемы я предпочитаю PLT Scheme. Она не совсем соответствует R5RS, но на мой взгляд даже лучше, причем поддерживать стандарт при желании тоже умеет. R6RS тоже вроде держит, но не пробовал.

Alone Coder


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

肏! Τίς πέπορδε;

Alone Coder


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

После того, как я сидел под Хаскелем, Схема и Лисп не выглядят функциональными вовсе 8) Императивщина ведь.
肏! Τίς πέπορδε;

Gerbarius

На лиспе тоже можно писать функционально, как-никак никакой императивщины в лиспе изначально вообще не было. Это уже зависит от того, кто и как лисп использует. А вообще чисто функциональные языки существуют только в теории. Без ввода-вывода тяжело обходиться, знаете ли.

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

Установил DrScheme (интересные у них нейминг конвеншнс: устанавливал PLT Scheme, установился DrScheme :) ), изучаю.
肏! Τίς πέπορδε;

oort

PLT scheme состоит из трех частей: mzscheme (интерпретатор без графических возможностей, mred (интерпретатор с графическими возможностями) и drscheme (IDE для них).

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

Примеры не хотят запускаться.
Я, может, не тот язык выбрал?

Верхний фрейм (квадратные скобки выделены красным):
Цитировать(define deck
  (let loop ([n DECK-COUNT])

Нижний:
ЦитироватьWelcome to DrScheme, version 4.1.5 [3m].
Language: R5RS; memory limit: 128 megabytes.
. read: illegal use of open square bracket
肏! Τίς πέπορδε;

Gerbarius


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

Да чёрт его знает.
У документа расширение называется ничего не говоряще PLT Scheme Document.
И каким языком его открывать — без понятия.
По синтаксису — Схема :-\
肏! Τίς πέπορδε;

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

О, режим Pretty Big уже не выдаёт ошибок.
Только всё равно не запускается :D

ЦитироватьInteractions disabled: setup/infotab does not support a REPL (no #%top-interaction)
это если запустить //info.ss, ибо //checkers.ss вообще не выдаёт ни привета, ни ответа.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от мая 27, 2009, 04:10
Сабж.
И какая из бесплатных систем самая развитая?
CL. Во-первых, неплохой стандарт; во-вторых, есть хорошие реализации и коммерческие и свободные.

myst

У Схемы компиляторы в машинный код есть?
Да, что у её реализаций с Уникодом?

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

Цитата: myst от мая 27, 2009, 18:03
-первых, неплохой стандарт; во
Там фигово с хвостовыми рекурсиями, я читал, а, стало быть, не дадут вволю функциональшиной побаловаться — тормоза и глюки.

Цитата: myst от мая 27, 2009, 18:05
У Схемы компиляторы в машинный код есть?
Chicken
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от мая 27, 2009, 18:07
Там фигово с хвостовыми рекурсиями, я читал, а, стало быть, не дадут вволю функциональшиной побаловаться — тормоза и глюки.
Просто в стандарте это требование не зафиксировано, а в хороших реализациях оптимизация есть.
Реализации Схемы тормознее.

myst

Цитата: Алексей Гринь от мая 27, 2009, 18:07
Chicken
Цитата: http://en.wikipedia.org/wiki/Chicken_(Scheme_implementation)
Chicken is a compiler and interpreter for the Scheme programming language that compiles Scheme code to standard C.
:smoke:
Я знаю, что C можно скомпилировать. :)

myst




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

Цитата: myst от мая 27, 2009, 18:13
:smoke:
Я знаю, что C можно скомпилировать. :)
Я как-то его юзал, он мне компилировал сразу в натив. Была ли там интеграция с GCC, или он какбэ сам по себе уже стандалоне (с частями кода, очевидно, спёртыми у ГЦЦ) — я не помню.
Но там точно есть возможность транслировать и в Си, и в натив.
В любом случае ГЦЦу скармливал результат без жалоб.
肏! Τίς πέπορδε;

myst

Мне у Схемы нравится обозначение предикатов знаком вопроса на конце.

myst

Цитата: Алексей Гринь от мая 27, 2009, 18:22
Я как-то его юзал, он мне компилировал сразу в натив.
Он на лету в машинный код компилирует? Можно отдельную функцию взять и скомпилировать?

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

Цитата: myst от мая 27, 2009, 18:29
Он на лету в машинный код компилирует? Можно отдельную функцию взять и скомпилировать?
Нет, это те не форт. Как ты себе это представляешь? Там вроде и интерактивной консольки нету :(
肏! Τίς πέπορδε;

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

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

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

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

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