?

Log in

Почему LISP? - Жить не можем без проблем! [entries|archive|friends|userinfo]
Жить не можем без проблем!

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Почему LISP? [Jan. 13th, 2011|02:05 pm]
Жить не можем без проблем!

ru_lisp

[aralex]

Как говорил Ворошилов, вопрос к Знатокам (к знатокам LISP-а в данном случае)! Почему таки LISP? Или, если конкретнее, вопроса три:

  1. Для каких именно задач LISP подходит больше, чем другие языки?
  2. За счёт чего для них он подходит больше?
  3. В чём именно выражается его преимущество?

Если не в лом, приведите, pls, коротенькие иллюстрации на LISP-е (или ссылочку на них). Заранее благодарен!

Исходно данный пост был размещён в сообществе ru_programming, но там Знатоков, способных ответить внятно и по сути, увы, не нашлось :(

linkReply

Comments:
From: (Anonymous)
2011-01-21 05:43 am (UTC)
There is really only one way to \"perform\" an I\/O action: bind it to
@Main.main@ in your program.  When your program is run, the I\/O will
be performed.  It isn't possible to perform I\/O from an arbitrary
function, unless that function is itself in the 'IO' monad and called
at some point, directly or indirectly, from @Main.main@.


Вот именно об этом я и говорил. То есть программа на хаскеле возвращает из main некоторую программу на неопределенном языке, которая содержится в ИО, причем эта программа вычисляется в компайлтайме и в рантайме программа на хаскеле не делает ничего, все что делается - это выполнение ИО-программы. То есть хаскель - это не более чем система метапрограммирования, которая предназначена для порождения энергичных программ ленивым образом. Монада ИО содержит в себе куски АСТа и ваша программа на хаскеле в компайлтайме раскрывается в АСТ энергичной программы, другими словами хаскель - подмножества лисповой макросистемы :)
Но, однако, возникает вопрос:
1. Кто выполняет потом ИО-программу?
2. Как вообще эта ИО-программа представляется?
3. Какова семантика ИО-программы?
Пока мы этого не описали - мы не можем гарантировать, что хаскель порождает корректные ИО-программы, а тогда вся система типов хаскеля становится не нужна, потому что она ничего не доказывает и ничего не гарантирует.
(Reply) (Parent) (Thread)