![]() |
|
Модераторы: LSD |
![]()
|
|
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 |
сабж.
Кто юзает, поделитесь впечатлением... |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
написал как-то утилиту для тестирования, впечатления хорошие
|
|||
|
||||
| Void |
|
|||
![]() λ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 |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 |
Void,
Большое спасибо за обзор |
|||
|
||||
| Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
откуда ты знаешь, как я писал свою первую программу на haskell? Добавлено через 1 минуту и 34 секунды мне кажется, самый большой недостаток haskell - это то, как сложно объяснить PM-у который всю жизнь кодил на basic и delphi, почему ты написал это на хаскеле Добавлено через 2 минуты и 5 секунд
а как-же Clean? |
||||
|
|||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 |
|
|||
|
||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich |
Потому что я сам так писал первое время, и пока не очень далеко ушёл от этого
Такова участь большинства изучающих, судя по всему. Голландцы вроде работают, но последний релиз компилятора трёхлетней давности. Впрочем, я за публикациями особо не слежу, могу ошибаться по поводу их успехов. Есть информация, что в следующей версии компилятора будет фронтенд для Haskell 98 с возможностью мешать модули на Haskell и Clean. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Я тупенький - значит все вокруг тоже. Отличная жизненная позиция -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
||||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 |
Глянул сырцы... Чёрт ! Это жжжесть
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
сорцы чего, если не секрет?
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб |
Lazin, достаточно просто самплы глянуть из документации... Забавно, но синтаксис - будто придумал кто-то, кто слышал краем уха пересказ про С и Дельфи. Уже комментарии заставляют крутить у виска пальцем, не говоря уж о применении опереатора ::
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
по моему хороший синтаксис...
просто он заточен под другие задачи, в паскале и си, у нас есть statement-ы, переменные ф-ии и так далее, в хаскеле этого нет, затое есть expression-ы, значения(values) и копозиция функций, вот к примеру if, в обычных ЯП это statement, код либо выполняется либо нет, в зависимости от условия, просто и понятно в хаскеле это expression, соответственно в хаскеле if возвращает значение, поэтому if не может быть без else, причем результаты выражений после if и после else должны иметь один и то-же тип в общем, язык просто другой, поэтому и его синтаксис так не похож на обычные ЯП... |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб |
Lazin, я не про то, хороший он или плохой, но мне комментарии {- ... -} - режут глаза, в то время как фигурные скобки в языке очень даже используются. Оператор :: уже давно и достаточно традиционно используется как выборка из объекта/структуры, а совсем не как описание типа. Зачем такие "традиционные" вещи делать "по своему"?
А уж, обозначение конструкта "bottom" вызывает приступы хихиканья, вероятно, у многих знакомящихся с языком... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Void |
|
||||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich |
Один из вариантов обозначения комментариев в Паскале — (* *). Ни разу не слышал, чтобы их кто-то с круглыми скобками путал...
С каких пор использование в C++ (1983) и Perl (1987) стало основанием называть что либо «традицией»? Тем более основные наследники — Java и C# — этот синтаксис не переняли? Синтаксис Haskell восходит к Miranda и Hope (начало 80-х), почему приоритет должен быть у C++?
_|_ не является синтаксической конструкцией Haskell. Это обозначение из теории типов. Не знаю, кто и когда использовал его впервые, но математикам что, на программистов оглядываться в выборе обозначений? Добавлено через 2 минуты и 57 секунд Предъявлять претензии к «не такому» синтаксису — это все равно что обвинять чешский язык в том, что некоторые слова звучат смешно для русского уха. Надо уметь переключать контексты в мозге -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||
|
|||||||
![]()
|
| Правила раздела «Флейм» | |
|
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Флейм | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |