LINUX.ORG.RU
ФорумTalks

IDE для Haskell - когда появится?

 , , ,


0

5

Только что пощупал Eclipse с плагином EclipseFP. Это же ужас! Воды нет, растительности нет, полезных ископаемых нет Автокомплита нет, подсветки синтаксиса нет, обозревателя переменных толком нет. Как альтернативу предполагается использовать leksah, vim, emacs, notepad.exe, но это же просто текстовые редакторы, как же так? Для Objective-C, C++, C#, Java, Scala есть оффициальные классные IDE. Для большого тяжеловесного языка Haskell ее нет и похоже не предвидится.

А что мешает реализовать таковую на ваш взгляд? Низкая популярность языка? Технические сложности? Или IDE для Haskell невозможна в принципе и если так, то почему?

vim, emacs, notepad.exe, но это же просто текстовые редакторы, как же так?

vim вроде можно превратить в IDE с помощью костылей. Emacs наверное тоже.

firestarter ★★★☆
()

Не нежно.

Вот подсветки бы годной не помешало, а то кроме emacs и gedit везде неполная.

обозревателя переменных толком нет.

язабан

quowah
()

обозревателя переменных

Переменных? В haskell??777

imtw
()

тяжеловесного

Не очень

Но вообще вопрос в популярности, более ничего. Технических препятствий быть не должно. Ну не побежит JetBrains напрягать отдел воротить поддержку Haskell. Для кого?

vertexua ★★★★★
()

А что мешает реализовать таковую на ваш взгляд? Низкая популярность языка?

А на кой черт? Самолично у меня процесс работы такой: поработал в vim, поработал в ghci, еще проаботал в vim и поработал в ghci...

Это же не «менйстрим» язык. Тут запускать дебаггер и мацкать мышкой по кнопке «фпирёд» нет никакого толку. Обычно сразу пишу юнит-тесты, большей частью на QuickCheck, значительно реже не HUnit. QuickCheck досаточно интерактивен, позволяет выводить достаточно много отладочной информации, и хорошо сочетается с ghci.

Самое обидное, что в процессе написания тестов исправляется 100% глюков, и окончательная версия запускается без ошибок. Получается что зря писал, да :(

Жалко, что рефакторить приходится руками. Но это не задача IDE, вернее, не столько IDE. Наверное тут дело в том, что не наработано большое количество паттернов рефакторинга. Лично я могу сходу привести три-четыре, но это же курам на смех.

PS: А автодополнение в хаскеле процесса разработки не ускоряет. Это вам не Ява.

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

автодополнение в хаскеле процесса разработки не ускоряет

Зато оно может быть намного умнее за счёт знания типов. Вроде как той программки, которая генерит код, имеющий заданный тип.

unC0Rr ★★★★★
()

А чего в Leksah не хватает?

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

Зато оно может быть намного умнее за счёт знания типов.

Теоретически возможно все. А вот практика... Нда...

Намного перспективнее «дырки» а-ля Agda. Работы в этом направлении ведутся.

Macil ★★★★★
()

Для Objective-C, C++, C#, Java, Scala есть оффициальные классные IDE. Для большого тяжеловесного языка Haskell ее нет и похоже не предвидится

интересно, есть ли предел человеческой глупости, и скоро ли ты его достигнешь?

большая часть функций IDE для перечисленных языков для Haskell не нужна; меньшая есть в плагинах для Emacs и Vim

А что мешает реализовать таковую на ваш взгляд?

чтобы решать какие, например, задачи?

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

Нет уж, раз он такой крутой функциональщик, что ему понадобился хаскель, пусть допиливает Yi, заодно и хаскель освоит.

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

снимаю вопрос насчёт глупости, у тебя просто аватарка похожая :)

jtootf ★★★★★
()

оффициальные

от слова «off»?

lazyklimm ★★★★★
()

emacs /thread

(хотя сам пользователь VIM).

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

Сложность превращения vim и notepad.exe в достойную IDE примерно одинакова.

quiet_readonly ★★★★
()

emacs

это же просто текстовые редакторы

Если кто-то не позаботился о том, чтобы написать Haskell IDE для емакса, это не вина емакса.

А вообще, зачем оно не нужно?

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

большинство пользуется vim/emacs некоторые eclipse-fp, всех устраивает настолько, что всякие lekhas смотрятся кривой поделкой, а yi имеет режимы vim и emacs.

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

Не нежно.

Ага, суровые haskell-программисты в нежностях вроде IDE не нуждаются.

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

Хаскель - не жаба, зачем для него IDE?

Да ваще хаскель не ЯП, к чёрту средства отладки!

ЗЫ так по теме есть что сказать?

true_admin ★★★★★
()

Хаскеллисты не ценят ничего, кроме кратковременных удобств. Write once, forget 4ever.

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

Какие фичи IDE тебе нужны для хаскеля?

Задачу обозначьте. Чем больше подробностей, тем лучше - я бы даже с удовольствием выслушал небольшую выдуманную историю.

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

Задачу обозначьте. Чем больше подробностей, тем лучше - я бы даже с удовольствием выслушал небольшую выдуманную историю

картинка_с_летчиком.жпг

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

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

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

всё что мне пока нужно это обоснование ненужности отладчика для хаскеля

Как минимум, отсутствие переменных и ghci.

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

1) Есть ghci и вимовская команда :GHCi. Этого достаточно.

2) Сегфолтов и прочего байтоложества в хаскеле нет, если программа и падает, то сообщение об ошибке всегда читаемое. Смотреть содержимое переменных не нужно, ибо их нет.

imtw
()
Ответ на: комментарий от quiet_readonly

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

Какой задачи? О чем речь вообще?

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

Как минимум, отсутствие переменных

Смотреть содержимое переменных не нужно, ибо их нет.

Как зомбирование-то работает :) Ну, хорошо, у выражений есть значения? Их можно вычеслить и показать? Функция trace что делает?

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

Всё ясно. Вот так и дальше вопите «IDE не нужны».

Мне для написания hello world тоже ничего не надо, nano хватит.

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

Их можно вычеслить и показать?
Есть ghci и вимовская команда :GHCi

Функция trace что делает?

Выводит значение в stdout.

Как зомбирование-то работает

Не хватает аргументов - зачморь их всех.

imtw
()
Ответ на: комментарий от true_admin

Как зомбирование-то работает :) Ну, хорошо, у выражений есть значения? Их можно вычеслить и показать? Функция trace что делает?

Какое это отношение имеет к IDE?

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

Какое это отношение имеет к IDE?

Ты спрашиваешь какое отношение имеет ide к процессу отладки?

Впрочем, я понимаю что не всё так просто из-за ленивости и в общем случае недетерминированного порядка вычислений.

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

Ты спрашиваешь какое отношение имеет ide к процессу отладки?

Отладки, в традиционном понимании, в хаскелле нет.

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

ну пусть будет нетрадиционная отладка

А для нее IDE не нужна :-) IDE для хаскеля не даст такого прироста производительности как для традиционных императивных языков.

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

IDE для императивных языков прежде всего даёт прирост поддерживаемости кода и эффективности одновременной работы.

Как вы читаете чужой код на haskell?

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

Выводит значение в stdout.

Немного не так:

trace s a = unsafePerformIO $ putStrLn s >> return a

imtw
()

IDE для Haskell - когда появится?

Когда ты её напишешь.

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

Сегфолтов и прочего байтоложества в хаскеле нет

и стек переполнить нельзя, и профайлер не нужен. одна история лучше другой

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

Не надоедает изо дня в день в течении нескольких месяцев вбрасывать одно и то же? Ну что за косплей мистера Финк-Нотла.

Расширьте область интересов немного, освоив новую парадигму программирования, к примеру.

imtw
()
Ответ на: комментарий от AptGet

и стек переполнить нельзя, и профайлер не нужен

Этого я не говорил. См. Карел Чапек, «правила ведения дискуссий», пункт 6. Imago.

От переполненного стека отладчик не спасёт, а о ненужности профайлера никто и не говорил.

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

Этого я не говорил. См. Карел Чапек, «правила ведения дискуссий», пункт 6. Imago.

Сегфолты это значит «байтоложество», а переполнения стека и профилирование постфактум - нет? удобно очень, чо.

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