Уведомления

Группа в Telegram: @pythonsu

#1 Март 27, 2009 19:42:29

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

REPL - тут читать http://pcl.catap.ru/doku.php?id=pcl:%D1 … %D0%B2repl Это когда компилируешь по одной функции,
строя, таким образом, программу.
Или я чего-то не понимаю, или это python shell. Ну и есть ipython.
Или нет, и есть принципиальные отличия?

Офлайн

#2 Март 27, 2009 20:16:50

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

Я тоже не понял про REPL.
Возможность сохранить сессию это заслуга SLIME+emacs, при чем здесь лисп? Собственный REPL у CLISP - в тестовом режиме, до emacs ему далеко, и даже подсветки нет как в IDLE, аскетизм полный. Или он по команде тоже все заданные определения функций выгружает в файл?



Офлайн

#3 Март 28, 2009 07:44:22

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

asv13
Я тоже не понял про REPL.
Возможность сохранить сессию это заслуга SLIME+emacs, при чем здесь лисп? Собственный REPL у CLISP - в тестовом режиме, до emacs ему далеко, и даже подсветки нет как в IDLE, аскетизм полный. Или он по команде тоже все заданные определения функций выгружает в файл?
Неа, это заслуга не среды разработки, и даже не реализации лиспа (коих много), а (имхо), самого стандарта. Ты работаешь с проектом, не перезапуская его, а просто вызывая перезагрузку функций. (Режим полной комплияции (не в байткод как обычно, а в машинный) - не в счет, он редко нужен на практике. Я не слышал что-то о реализациях ANSI Common Lisp, не поддерживающих такой полный REPL (не-common, а другие, специфические диалекты лиспа, опять же, не в счет. А по scheme реализациям не знаю, правда.)

clisp реализация лично мне вообще не нравится, из бесплатных - уж лучше sbcl.



Офлайн

#4 Март 30, 2009 10:51:32

asv13
От:
Зарегистрирован: 2007-01-22
Сообщения: 130
Репутация: +  0  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

wikipedia: Python has a built-in REPL and a more enhanced version in IPython.
Я так и не понял чем REPL питона не таков? Что с ним не так как в схеме и лиспе?

astoon
Неа, это заслуга не среды разработки, и даже не реализации лиспа (коих много), а (имхо), самого стандарта.
Я говорил про конкретную возможность сохранить все ранее введеное в отдельный файл, что похоже все-таки заслуга скриптов emacs. В IDLE я этого не нашел, но может есть в ipython.



Офлайн

#5 Март 30, 2009 10:58:08

cybergrind
От:
Зарегистрирован: 2008-01-21
Сообщения: 201
Репутация: +  0  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

balu
Про рекурсию - не, не поменялось.
ну именно для таких задач можно заюзать stackless. просто разрешение задач таким путем - это скорее особенный образ мышления и подход к решению задач (помню поучил немного erlang, так на питоне такое начал писать что ппц, рекурсия на рекурсии, и вроде все работало =)

balu
Например код на питоне генерируется лиспом
да генерировать код можно без особых проблем для других языков =)


я скорее склоняюсь к мысли о том, что есть свой стандартный набор паттернов (может неверно использовал слово) и идиом у языка, и у разработчика, и проблема только в том, насколько сложно реализовать необходимый тебе функционал. Рекурсия - пример принципиального ограничения у питона, но есть один момент - делать рекурсивные функции очень сложными - себе дороже, а если они простые - то легко переписываются (лучше привести пример где без рекурсии никак…. а есть ли такие?)



Офлайн

#6 Март 30, 2009 11:13:35

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

asv13
Возможность сохранить сессию это заслуга SLIME+emacs, при чем здесь лисп?
При том, что это может быть не только SLIME+emacs - REPL понимает namespace. В результате, когда ты видишь, что что-то пошло не так, ты только переопределяешь то, что надо и все идет как надо.
asv13
Собственный REPL у CLISP - в тестовом режиме, до emacs ему далеко, и даже подсветки нет как в IDLE, аскетизм полный.
Сравнение не корректно:
1) Сам по себе питон тоже работает в текстовом режиме. IDLE - лишь надстройка над ним.
2) Сравнивать имеет смысл среды разработки - для Lisp это, чаще всего, Emacs+Slime и в этом случае процесс разработки отличается от питоновского тем, что ты работаешь одновременно как с исходником, так и с REPL, причем гибкость там огромная.



Офлайн

#7 Март 31, 2009 10:37:40

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

cybergrind
лучше привести пример где без рекурсии никак…. а есть ли такие?
Обработка произвольных деревьев, например - парсер синтаксиса.
cybergrind
да генерировать код можно без особых проблем для других языков
Можно, тезисом Черча-Тьюринга доказано. Но на лиспе веселее, он специально для этого заточен.



Офлайн

#8 Март 31, 2009 13:58:49

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

MIT переходит со Scheme на Python

balu
Обработка произвольных деревьев, например - парсер синтаксиса.
Мне кажется, что cybergrind хотел увидеть достаточно глубокую рекурсию. Так, чтобы CPython'а не хватило. Вот реально, зачем в Sackless так увеличили её, рекурсии, максимальную глубину?



Офлайн

#9 Март 31, 2009 14:10:32

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

MIT переходит со Scheme на Python

ZZZ
Мне кажется, что cybergrind хотел увидеть достаточно глубокую рекурсию
Я же напейсал - обработка деревьев произвольной глубины.
ZZZ
Вот реально, зачем в Sackless так увеличили её, рекурсии, максимальную глубину?
лучше бы гарантировали хвостовую рекурсию.



Офлайн

#10 Март 31, 2009 15:13:21

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

MIT переходит со Scheme на Python

balu
например - парсер синтаксиса
Тут с не слишком-то много.
А вот где взять реально большое дерево?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version