Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> haskell, юзает кто-нибудь ? 
:(
    Опции темы
GrayCardinal
Дата 28.3.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003




сабж.
Кто юзает, поделитесь впечатлением...


--------------------
PM MAIL WWW   Вверх
Lazin
Дата 28.3.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




написал как-то утилиту для тестирования, впечатления хорошие
PM MAIL Skype GTalk   Вверх
Void
Дата 28.3.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich




Пытаюсь использовать для своих любимых околокомпиляторных поделок.

Заранее оговорюсь, что я сравниваю с прочей функциональщиной, а не с Си/Перлом/Питоном и т.д., так что стандартные аргументы за/против ФП в расчёт не берём.
И ещё: говорим Haskell — подразумеваем GHC. Для практического применения больше ни один компилятор не годится. Львиная доля библиотек и программ завязана на фичи GHC.

Плюсы:
— Достаточно универсальное сочетание практичности и академической стройности.
— Активное и компетентное community. Можно сказать, Haskell сейчас — стандартный функциональный язык.
— Как следствие: библиотеки пишут и пишут много. Стандартная поставка GHC тянет на batteries, которые included, больше, чем что-либо ещё из функциональщины, не привязанной к JVM/.NET. Пишут как биндинги, так и теоретически продвинутые вещи.
­— К предыдущему пункту: Cabal и Hackage. Nuff said.
— Компилятор(ы) активно пилят. Вся остальная функциональщина в плане улучшения нативной компиляции сдулась, хотя у OCaml ещё есть фора.

Недостатки непосредственно вытекают из достоинств:
Высокий порог вхождения. Математикам, наверное, проще, но лично я, будучи знакомым с OCaml, въехал в Haskell далеко не с первого захода. Но в последнее время появилось много толковой литературы, особо отмечу Real World Haskell. Язык «глубокий»: фич много, разница между basic и advanced Haskell большая.
Тут два аспекта: система типов и ленивость. С типами надо перейти от «методом тыка переставляем операторы, чтобы оно хотя бы скомпилировалось» к состоянию, когда система типов помогает выражать мысли. Система типов в Haskell — это альфа и омега. Чтобы успешно писать на Haskell, надо иметь желание как можно больше выразить через типы, наложить как можно больше статических ограничений. Многие такой подход органически не приемлют.
Ленивость — причина стандартных жалоб «я написал программу, обрабатывающую большой файл, оно отжирает всю память и работает полчаса». Аналогично, от расстановки аннотаций строгости методом тыка надо перейти к пониманию, как происходит редукция, и при необходимость форсировать вычисления и использовать императивные возможности.
Имеется некоторая свистопляска с библиотеками. Крупные вещи имеют обыкновение ломаться от major release GHC. К счастью, в основном при компиляции. Обычно фиксят быстро.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
GrayCardinal
Дата 28.3.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003




Void, 
Большое спасибо за обзор  smile 


--------------------
PM MAIL WWW   Вверх
Lazin
Дата 28.3.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




Цитата(Void @  28.3.2009,  16:02 Найти цитируемый пост)
«методом тыка переставляем операторы, чтобы оно хотя бы скомпилировалось»

Цитата(Void @  28.3.2009,  16:02 Найти цитируемый пост)
расстановки аннотаций строгости методом тыка

откуда ты знаешь, как я писал свою первую программу на haskell? smile

Добавлено через 1 минуту и 34 секунды
мне кажется, самый большой недостаток haskell - это то, как сложно объяснить PM-у который всю жизнь кодил на basic и delphi, почему ты написал это на хаскеле smile

Добавлено через 2 минуты и 5 секунд
Цитата(Void @  28.3.2009,  16:02 Найти цитируемый пост)
Компилятор(ы) активно пилят. Вся остальная функциональщина в плане улучшения нативной компиляции сдулась, хотя у OCaml ещё есть фора.

а как-же Clean?
PM MAIL Skype GTalk   Вверх
GrayCardinal
Дата 28.3.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003




Цитата

мне кажется, самый большой недостаток haskell - это то, как сложно объяснить PM-у который всю жизнь кодил на basic и delphi, почему ты написал это на хаскеле

 smile 


--------------------
PM MAIL WWW   Вверх
Void
Дата 28.3.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich




Цитата(Lazin @  28.3.2009,  19:44 Найти цитируемый пост)
откуда ты знаешь, как я писал свою первую программу на haskell? smile

Потому что я сам так писал первое время, и пока не очень далеко ушёл от этого smile
Цитата(Typeclassopedia (The Monad.Reader issue 13))

    There are two keys to an expert Haskell hacker’s wisdom: 1. Understand the
types. 2. Gain a deep intuition for each type class and its relationship to other
type classes, backed up by familiarity with many examples.
    It’s impossible to overstate the importance of the first; the patient student of
type signatures will uncover many profound secrets. Conversely, anyone ignorant
of the types in their code is doomed to eternal uncertainty. “Hmm, it doesn’t com-
pile. . . maybe I’ll stick in an fmap here. . . nope, let’s see. . . maybe I need another
(.) somewhere? . . . um . . . ”

Такова участь большинства изучающих, судя по всему.
Цитата(Lazin @  28.3.2009,  19:44 Найти цитируемый пост)
а как-же Clean? 

Голландцы вроде работают, но последний релиз компилятора трёхлетней давности. Впрочем, я за публикациями особо не слежу, могу ошибаться по поводу их успехов.
Есть информация, что в следующей версии компилятора будет фронтенд для Haskell 98 с возможностью мешать модули на Haskell и Clean.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
NightmareZ
Дата 29.3.2009, 05:39 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006




Цитата(Void @  28.3.2009,  18:11 Найти цитируемый пост)
Потому что я сам так писал первое время, и пока не очень далеко ушёл от этого


Я тупенький - значит все вокруг тоже. Отличная жизненная позиция  smile 


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
Lazin
Дата 29.3.2009, 08:30 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




Цитата(NightmareZ @  29.3.2009,  05:39 Найти цитируемый пост)
Я тупенький - значит все вокруг тоже. Отличная жизненная позиция
ваша жизненная позиция - ваша проблема, зачем о ней писать на форуме, причем в такой неподходящей для этого теме? smile 
PM MAIL Skype GTalk   Вверх
GrayCardinal
Дата 29.3.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003




Глянул сырцы... Чёрт ! Это жжжесть smile Сырцы можно открывать, ибо никто всё равно не поймет smile


--------------------
PM MAIL WWW   Вверх
Lazin
Дата 29.3.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




сорцы чего, если не секрет? smile 
PM MAIL Skype GTalk   Вверх
ksnk
Дата 29.3.2009, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб




Lazin, достаточно просто самплы  глянуть из документации... Забавно, но синтаксис - будто придумал кто-то, кто слышал краем уха пересказ про С и Дельфи. Уже комментарии заставляют крутить у виска пальцем, не говоря уж о применении опереатора :: 
 smile 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Lazin
Дата 29.3.2009, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




по моему хороший синтаксис... 
просто он заточен под другие задачи, в паскале и си, у нас есть statement-ы, переменные ф-ии и так далее, в хаскеле этого нет, затое есть expression-ы, значения(values) и копозиция функций, вот к примеру if, в обычных ЯП это statement, код либо выполняется либо нет, в зависимости от условия, просто и понятно
в хаскеле это expression, соответственно в хаскеле if возвращает значение, поэтому if не может быть без else, причем результаты выражений после if и после else должны иметь один и то-же тип
в общем, язык просто другой, поэтому и его синтаксис так не похож на обычные ЯП...
PM MAIL Skype GTalk   Вверх
ksnk
Дата 29.3.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб




Lazin, я не про то, хороший он или плохой, но мне комментарии {- ...  -} - режут глаза, в то время как фигурные скобки в языке очень даже используются. Оператор :: уже давно и достаточно традиционно используется как выборка из объекта/структуры, а совсем не как описание типа. Зачем такие "традиционные" вещи делать "по своему"?
А уж, обозначение конструкта "bottom" вызывает приступы хихиканья, вероятно, у многих знакомящихся с языком...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Void
Дата 29.3.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich




Цитата(ksnk @  29.3.2009,  21:50 Найти цитируемый пост)
комментарии {- ...  -} - режут глаза, в то время как фигурные скобки в языке очень даже используются

Один из вариантов обозначения комментариев в Паскале — (* *). Ни разу не слышал, чтобы их кто-то с круглыми скобками путал...
Цитата(ksnk @  29.3.2009,  21:50 Найти цитируемый пост)
Оператор :: уже давно и достаточно традиционно используется как выборка из объекта/структуры

С каких пор использование в C++ (1983) и Perl (1987) стало основанием называть что либо «традицией»? Тем более основные наследники — Java и C# — этот синтаксис не переняли? Синтаксис Haskell восходит к Miranda и Hope (начало 80-х), почему приоритет должен быть у C++?
Цитата(ksnk @  29.3.2009,  21:50 Найти цитируемый пост)
А уж, обозначение конструкта "bottom" вызывает приступы хихиканья, вероятно, у многих знакомящихся с языком... 

_|_ не является синтаксической конструкцией Haskell. Это обозначение из теории типов. Не знаю, кто и когда использовал его впервые, но математикам что, на программистов оглядываться в выборе обозначений?

Добавлено через 2 минуты и 57 секунд
Предъявлять претензии к «не такому» синтаксису — это все равно что обвинять чешский язык в том, что некоторые слова звучат смешно для русского уха. Надо уметь переключать контексты в мозге smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.