Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2014, 05:08   #1
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
По умолчанию Самый идеологически правильный lisp

Собственно сабж, Какой диалект lisp'а вы считаете самым идеологически правильным? Например clojure - хороший лисп, с огромной базой готового кода (джава постаралась), но идеологически он так себе, из-за того же JVM, ибо она обкладываем его множеством ограничений.
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 24.06.2014, 07:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Классический Лисп самый правильный.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2014, 08:08   #3
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
По умолчанию

Смысле тот, первый? Но он же написанный под старые машины, то есть тоже обложен ограничениями машин того времени...

==Добавлено==

А вообще был ли когда либо компилятор (интерпритатор) того самого классического лиспа?
Это ещё не конец и даже не начало конца, это возможно только конец начала.

Последний раз редактировалось pufystyj; 24.06.2014 в 08:17.
pufystyj вне форума Ответить с цитированием
Старый 24.06.2014, 08:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Лисп - интерпретатор. Ограничений на железо по факту не имеет.
т.е. имею ввиду его диалект не имеет.
А чего ты про идеологию лиспа спросил? Всмысле какая разница какой лисп взять на изучение?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2014, 09:07   #5
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Лисп - интерпретатор.
Я не оспариваю, но кто мешает его потом компилировать для производительности?

Цитата:
Ограничений на железо по факту не имеет.
т.е. имею ввиду его диалект не имеет.
А чего ты про идеологию лиспа спросил? Всмысле какая разница какой лисп взять на изучение?
Не совсем, я решил выучить какой-то диалект лиспа (есть капелька опыта в clojure) чисто для себя, ну как бы язык для сердца. Но вот решаю какой диалект наиболее ближе (это не значит чтобы он был таким же старым) к тому самому лиспу который был придуман до его реальной реализации.

Ну к примеру с нормальный рекурсией типа
Код:
(func(func 1))
без stackoverflow'вов
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 24.06.2014, 09:59   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
без stackoverflow'вов
А что Лисп такие рекурсии уже не оптимизирует? Насколько я помню AutoLISP ставил ограничения на такие рекурсии, либо же формировал их как бесконечный цикл передавая параметры не через стек.
Не знаю, как по мне что там сейчас поновее то и изучать стоит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2014, 18:55   #7
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
По умолчанию

Ну мой лиса, то есть кложур, обходить єто с помощью recur, ибо JVM н позволяет. Да, наверное вы правы, пойду читать описание новых лиспов.

Хм, возможно вы меня не совсем поняли. Я имел ввиду не хвостовую рекурсию, а именно обычную
Код:
(fun a (a, a)
то есть рекурсия вызывается не последней инструкцией в коде функции, а в любом её месте, даже дважды. Такое вообще кто-либо реализировал?

Не поймите меня не правильно, это не единственный кретерий, все же главное именно идеология, то есть отсутствие перемешки с ООП как это есть в common lisp.
Это ещё не конец и даже не начало конца, это возможно только конец начала.

Последний раз редактировалось Stilet; 24.06.2014 в 19:20.
pufystyj вне форума Ответить с цитированием
Старый 24.06.2014, 19:25   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это не единственный кретерий, все же главное именно идеология, то есть отсутствие перемешки с ООП как это есть в common lisp.
Вообще-то многие авторы книг по лиспу, с коими я сталкивался на ейных страницах утверждают что диалекты лиспа претерпели достаточно широкую эволюцию, преобразовавшись в совершенно разные ЯВУ. Так что сложно подбирать идеологию конкретно не зная предметной области. Одни ВМ реализуют действия по своему - другие совсем по другому. Где-то рекурсия реализована только как цикл, где-то как в автолиспе ВМ сама выбирает наилучший путь.
Цитата:
то есть рекурсия вызывается не последней инструкцией в коде функции, а в любом её месте, даже дважды.
Ты ж пойми оптимизация рекурсий напрямую зависит от параметров, передаваемых в функцию. Если параметров нет - цикл, если параметры есть то х.з. как у какой ВМ предпочтения. Может они не стеком будут пользоваться а составлять список передаваемых параметров в куче.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2014, 22:07   #9
pufystyj
Форумчанин
 
Аватар для pufystyj
 
Регистрация: 10.11.2010
Сообщений: 569
По умолчанию

Да, вы правы, почитав о нескольких диалектах, понял что действительно это довольно разные языки. Попробую scheme, он простой и очень чистый. А после некого опыта в нем смогу пойти в любой другой и уже четко отличать где именно лисп, а где особенность диалекта. Спасибо.

П. С. Все же я был прав, лисп это не обязательно интерпретатор, да зачастую его диалекты имеют интерпретатор, но в 90% случаем они ещё и имеют компилятор.
Это ещё не конец и даже не начало конца, это возможно только конец начала.
pufystyj вне форума Ответить с цитированием
Старый 25.06.2014, 08:09   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но в 90% случаем они ещё и имеют компилятор.
Да. Совремнный Лисп этому уже научился. Но все равно у него зачатки ВМ, и от этого ему не отделаться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP Electroflower Помощь студентам 1 06.01.2012 11:15
lisp Hevadimka Фриланс 0 09.10.2011 12:54
Поиск идеологически верной заставки. the_deer_one Свободное общение 6 02.09.2011 01:25
lisp. newprog12 Помощь студентам 0 24.01.2010 12:39