LINUX.ORG.RU

Какие языки имеют удобный режим REPL?


2

1

Уважаемые господа эксперты! Я занимаюсь тем, что изучаю программирование на примере решения задач Project Euler. Раньше я использовал оболочку IDLE на Питоне, но она меня не удовлетворяет тем, что бесконечный или слишком долгий цикл нельзя прервать — интерфейс работает в том же процессе что и цикл исполнения. Убить их можно только вместе, и теряются промежуточные результаты вычисления.

Заодно хочу познакомиться с новым языком. Нужна графическая, а не консольная программа, реализующая какой-нибудь высокоуровневый язык в режиме Read–eval–print.

Deleted
Ответ на: комментарий от tailgunner

ipython в режиме блокнота ещё и завешивает браузер. а bpy ведёт себя хорошо, но я не могу настроить шрифт и цвет фона.

Deleted
()

Нужна графическая, а не консольная программа, реализующая какой-нибудь высокоуровневый язык в режиме Read–eval–print.

Ты понимаешь, что тут могут только лисп и емакс насоветовать? Вообще прикрути тот же питон к емаксу, там можно и подгружать код в репл, и прерывать бесконечные циклы.

Artificial_Thought ★★★★
()
Ответ на: комментарий от Deleted

ipython в режиме блокнота ещё и завешивает браузер

Что? Запустил в режиме блокнота while 1: pass, нажал слева Interrrupt, всё прекрасно завершилось.

Artificial_Thought ★★★★
()
Ответ на: комментарий от Artificial_Thought

Зарускаю «ipython3 notebook». while 1: print(123). Запускаю. Браузер перестаёт реагировать. Завершаю ipython3, но браузер так и не развешивается. Окно его затемняется и больше ничего не происходит. Firefox 17.

Deleted
()
Ответ на: комментарий от cdshines

а если просто из консоли, то irb.

Олсо, если для ПЭ твои циклы слишком долго выполняются, проблема не в питоне. я сделал ок. 40 -задач, там не было ни одной ресурсоемкой.

cdshines ★★★★★
()
Ответ на: комментарий от cdshines

Я сделал 75 задач. Если не можешь придумать эффективный алгоритм, приходтится тупо перебирать все возможные варианты, и это долго.

Deleted
()

clojure emacs nrepl

zz ★★★★
()
Ответ на: комментарий от Deleted

так ты думай, тебя ж никто не гонит. а то в чем вкус? Олсо, создал бы тред, на лоре, видать, много таких - заодно алгоритмами и делились бы, обсуждали.

cdshines ★★★★★
()
Последнее исправление: cdshines (всего исправлений: 1)
Ответ на: комментарий от Deleted

Есть такой спец. режим. Удобно, между прочим, т.к. не надо никуда уходить из браузера.

Да вы тут все издеваетесь.

wlan ★★
()

Нужна графическая, а не консольная программа, реализующая какой-нибудь высокоуровневый язык в режиме Read–eval–print.

Emacs </thread>

theNamelessOne ★★★★★
()

logo уже советовали?

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

nanoolinux ★★★★
()
Ответ на: комментарий от anonymous

ZOMG, это еще что такое?

  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Добро пожаловать GNU CLISP 2.49 (2010-07-07) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010

Напечатайте :h и нажмите Ввод для получения справки.

[1]>
anonymous
()
Ответ на: комментарий от nanoolinux

Repl несравненно легче. Написал одну какую-нибудь функцию, сразу проверил, исправил ошибки, затем думаешь, как её дальше использовать.

Deleted
()
Ответ на: комментарий от Artificial_Thought

лисп

Но ведь в лиспе плохой, негодный REPL!

Запусти SBCL или ECL — там же даже не работают стрелки вверх-вниз для хождения по истории! И стрелки вправо-влево для редактирования строки.

anonymous
()

Для Cantor пилят питоновский плагин.

keyran ★★
()

Для питона зачатки repl можно найти в emacs с прикрученным ipython-shell'ом и в eclipse, но оно все убогое.

alienclaster ★★★
()
Ответ на: комментарий от alienclaster

А еще у swi-prolog в emacs :)

Я тоже имел в виду tuareg-mode для OCaml. Вообще жалко, что Ocaml не взлетел (для меня это отсутствие SMP).

;; gensym

anonymous
()
Ответ на: комментарий от encyrtid

DrRacket хороший интерпретатор. Сейчас ещё посмотрел Mathematica 8. По количеству и качеству встроенных математических функций и по документации далеко превосходит всё остальное.

Deleted
()
Ответ на: комментарий от anonymous

Запусти SBCL или ECL — там же даже не работают стрелки вверх-вниз для хождения по истории! И стрелки вправо-влево для редактирования строки.

alias sbcl='rlwrap sbcl'

Но вообще для этого дела есть SLIME.

theNamelessOne ★★★★★
()

на проблемы с ipython notebook не натыкался (while print подвешивает на секунд 20, но затем можно штатно прервать выполнение), но если вам не везет может попробовать ipython qtconsole?

А вообще не понимаю зачем нужна графика.

Belkrr
()

Я занимаюсь тем, что изучаю программирование на примере решения задач Project Euler. [..] Нужна графическая, а не консольная программа, реализующая какой-нибудь высокоуровневый язык в режиме Read–eval–print.

Бесплатный LispWorks Personal может подойти. Окошко c REPL там называется Listener. Сама среда тянет на неплохую IDE. Входным языком является Common Lisp.

Несмотря на ограничения бесплатной версии, можно использовать библиотеки ASDF, например, через QuickLisp, хотя для Project Euler это не особо критично.

dave ★★★★★
()
Ответ на: комментарий от Deleted

Написал одну какую-нибудь функцию, сразу проверил, исправил ошибки, затем думаешь, как её дальше использовать.

т.е. ты ф-ии пишешь для того, что бы придумать задачу которую они решают? я правильно тебя понял о_О?

Repl несравненно легче.

кому как например.

nanoolinux ★★★★
()
Ответ на: комментарий от Deleted

Браузер перестаёт реагировать

задачка на сообразительность - почему так происходит.

Хотя нехорошее это поведение, да.

true_admin ★★★★★
()

Какие языки имеют удобный режим REPL?

JS. F12 в браузере или Ctrl+Shift+I в опере - вот тебе и REPL. Прервать всегда можно.

border-radius
()
Ответ на: комментарий от Deleted

ipython в режиме блокнота ещё и завешивает браузер

Чем плох обычный режим, который в консоли? Он ничего не завешивает и прекрасно работает.

pevzi ★★★★★
()

удобный репл в guile после загрузки модуля редлайна...

про «графическая программа» не очень понятно.

psv1967 ★★★★★
()

вообще любой язык достаточно просто можно к slime прикрутить. Есть, например, swank-сервер для ruby. Для пистона можно то же набросать за пару вечеров. Просто никто из питонофанатов этого не умеет :D

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.