LINUX.ORG.RU

Haskell 2010

 , haskell 2010, haskell-prime,


0

0

В списке рассылки появилось сообщение от Simon Marlow, где объявляется о новой ревизии языка Haskell — Haskell 2010.

Расширения, которые вошли в новый стандарт:

  • DoAndIfThenElse
    Синтаксис if-then-else будет выглядеть как «exp -> if exp1 [;] then exp2 [;] else exp3».
    «then» и «else» можно будет располагать на одном уровне.
  • HierarchicalModules
    Иерархическая структура модулей наконец-то войдёт в официальный стандарт.
  • EmptyDataDeclarations
    Конструкторы типов без конструкторов данных (это типы с единственным значением: _|_).
  • FixityResolution
    Изменения в синтаксическом разборе операторов с приоритетами. Важно только для официального отчёта.
  • ForeignFunctionInterface
    Давно использующийся FFI тоже войдёт в Haskell2010.
  • LineCommentSyntax
    Небольшое исправление, связанное со строчными комментариями.
  • PatternGuards
    Сопоставление с образцами в охраняющих выражениях.
  • RelaxedDependencyAnalysis
    Ослабленный анализ зависимостей: при выводе типов игнорируются ссылки на связанные переменные с явно указанными типами. Monomorphism restriction is gone.
  • LanguagePragma
    В отчёте будет упоминаться прагма «LANGUAGE» с расширениями: DoAndIfThenElse, HierarchicalModules, FixityResolution, PatternGuards, NoNPlusKPatterns, RelaxedDependencyAnalysis, LineCommentSyntax, EmptyDataDeclarations, LanguagePragma и ForeignFunctionInterface.
    Реализация, поддерживающая прагмы, должна обрабатывать «{-# LANGUAGE Haskell2010 -#}» (включает все вышеперечисленые расширения).
  • NoNPlusKPatterns
    Убран вариант синтаксиса при сопоставлении с образцом вида «n + k» для натуральных чисел.

Подробнее обо всех расширениях можно узнать здесь:
http://hackage.haskell.org/trac/haske...

>>> Сообщение в списке рассылки

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

> Но после выхода 4-х чуть не вернулся обратно.

Сейчас уже можно... :)

Года два назад падала панель из-за какого-то аплета (да, действительно под x86_64).

Есть подозрение на «часы». Там при неправильной сборке действительно возможны были глюки. Апплеты панели это частный случай bonobo-объектов. А в апплет «часы» интегрирвался по-моему, planner. Сейчас починили bonobo-объекты. Полегчало.

Но в те времена, если я не ошибаюсь, то если объекта planner'а на машине не было, то апплет падал. И мог потянуть за собой панель. Уверять на 100% что именно из-за этого не буду, но сам на это нарвался как-то. Лечилось это просто пересборкой апплета без поддержки планировщика.

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

Впрочем, это не более чем предположение, _утверждать_ что-либо я не могу. Дела давно минувших дней... Я уж обо всём этом и забыть-то успел... :)

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

Haskell 2010

И вот зачем я запостил сюда новость? Сколько же тут неадекватов... summer (*) (27.11.2009 5:05:12)

Да не переживай! Лови СПАСИБО от лица анонимного!..

Просто Хаскел был, есть, и будет есть... Ну и - это да - w-джобы тоже. НО!!! Хаскел-то поинтереснее будет данных персонажей. Аминь.

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

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

тебе не понять прелестей зимнего стопа в Мурманск ;)

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

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

Дык мы оделись не в шорты. :)

P.S. Как сказала одна знакомая с Сахалина: «Я зимой люблю в походы ходить. Медведи спят...» :)

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

Зато те, что не спят, устраивают шорох будь здоров.

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

>тебе не понять прелестей зимнего стопа в Мурманск ;)

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

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

>Дык мы оделись не в шорты. :)

Ну, я понимаю. И все равно. Поехал я зимой на НГ в Гурзуф. В Симферополе вообще солнце было и в свитере можно было ходить, а на берегу там, даже внизу - не ахти, из-за ветра. Ночь провел на набережной и под пальмами в Артеке, думал сдохну. Но правда следующее утро, совсем безлюдное, тихое, с солнцем над горами - оно того стоило ^_^

Счастливого пути.

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

>Зачем это поделие нужно если есть D?

обезьяна на аватаре намекает, да? как D соотносится с хаскелем?

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

>> Например, старый трид заканчивает работу со старой версией функции, а когда дергается новый - то уже с новой. Перезапускать весь код целиком - ни в коем разе, это сразу под суд. Как такое сделать со стат. тип. языком?

Элементарно. Причем тут вообще вид типизации?


Диссительно... Systemtap ведь прогрессирует с каждым релизом.

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

дерьмо by design и by definition

дерьмо by design и by definition - это тот кто ко всему что ни попадя приклеивает ярлык «дерьмо by design и by definition»...

shty ★★★★★
()
Ответ на: комментарий от Sun-ch

Скажем, зачем инженеру-электрику энание электродинамики на уровне университетского курса?

и пошла Ъ-квинтэссенция полиномами Лежандра закипать и напали машины на спящее человечество... :)

Ви таки в курсе что такое инженер-электрик??? Потому что я - нет. Или Ви уже перепутали, уважаемый, электрика и "(радио-)электронщика"?

shty ★★★★★
()
Ответ на: комментарий от Sun-ch

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

load balancing, не?

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

Конечно, в Лиспе деления не 0 не бывает.

бывает, только результатом является строка: «Хрень какая то. Вы там совсем охренели.» и ничего не падает, всё хорошо работает :)

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

> дерьмо by design и by definition - это тот кто ко всему что ни попадя приклеивает ярлык «дерьмо by design и by definition»...

Деточка, не сдерживайся, это же ЛОР. Зайди на лурк, зачерпни пригоршню мемов, и обмажься^Wпокидайся ими.

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

Как бы про IronPython речи и не было. Возможно конпелятор питона (по старой традиции перенесенной из CPython) и не делает ничего с хвостовой рекурсией. Но факт в том, что другие языки это делать умеют и получается вполне пристойно

Вот например ссылочка: http://habrahabr.ru/blogs/nemerle/47553/ . Внизу бенчмарк. И как это они обошлись без костылей и тормозов? ))

ЗЫ Основное свойство школоты - подозревать, что все вокруг - школота ))

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

> Ну и в чем она?

MS --- коммерческая лавочка, MS Research --- их отделение для ведения исследование (с неочевидными коммерческими перпективами) за счёт средств, полученных остальной MS.

Одно из следствий: сотрудники MS всегда высылают в документы в docx и xlsx, а в MS Research используют и Latex %)

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

Как уже говорили, есть Template Haskell.

но оттуда никто не возвращается...

нет там ничего страшного; Meta O'Caml значительно ядрёней будет

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

Зайди на лурк, зачерпни пригоршню мемов, и

А на кукуй мне несвежие фидошные мемы? Да ещё обазываться ими по некоторой традиции небось... вот уж «фу-фу-фу»... :)

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

Хотя надо признать да, хвостовая рекурсия в дотнете медленнее, ежели сравнивать с аналогичным циклом. Сдается мне в Nemerle компилируют не используя tail., а делая простые переходы.

Но я могу и ошибаться. В любом случае это гораздо красивее и производительнее декоратора, ловящего исключения.

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

это гораздо красивее и производительнее декоратора, ловящего исключения

вай-вай! какой там декоратор? обычный метод класса...

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

>не очень странно. M$-R и M$ - это, в общем-то, две разных компании

...с общей патентной базой :)

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

> Как бы про IronPython речи и не было.

Как бы IronPython и не причем. Ты по ссылке-то сходил? Там речь о PyPy.

Вот например ссылочка: http://habrahabr.ru/blogs/nemerle/47553/ . Внизу бенчмарк. И как это они обошлись без костылей и тормозов? ))

Ссылка на хабру о реализации вычисления числа Фибоначчи, браво.

ЗЫ Основное свойство школоты - подозревать, что все вокруг - школота ))

ХЗ, тебе виднее.

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

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

anonymous
()

Странный язык, этот Хаскель. Интересно если он вообще когда-нибудь наберёт заметное количество пользователей, или его судьба - влиться модулем в очередной выпуск .NET.

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

> Я знаком с питоном и его очень люблю >_<

Лучше бы с Хаскеллем ознакомился.

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

Интересно если он вообще когда-нибудь наберёт заметное количество пользователей

какое количество считать заметным?

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

> Странный язык, этот Хаскель. Интересно если он вообще когда-нибудь наберёт заметное количество пользователей, или его судьба - влиться модулем в очередной выпуск .NET.

Качество пользователей иногда важнее количества. Для хаскеля особенно. Ореол элитарности и все такое.

А в .NET он вряд ли когда-нибудь вольется. Ленивость наряду с чистотой мешают тому. Может быть, это и к лучшему. ML языки типа F# подходят для .NET гораздо лучше. Если ты, конечно, понимаешь, о чем я пишу.

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

> Схема динамически типизирована. Динамически типизированные языки - дерьмо by design и by definition. Вот так всё просто.

Ты категоричен, как молодой анонимус =)

Есть Typed Scheme ;) В Коммон Лиспе есть ftype для типа функции и type для типов её аргументов. Если собирать с соответствующим safety, то даже глючить будет также, как, lets say, Си.

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

>> Схема динамически типизирована. Динамически типизированные языки - дерьмо by design и by definition. Вот так всё просто.

Ты категоричен, как молодой анонимус =)

Я несу справедливость^W^Wтроллю же во имя Луны^Wоживления дискуссии %)

В Коммон Лиспе есть ftype для типа функции и type для типов её аргументов. Если собирать с соответствующим safety, то даже глючить будет также, как, lets say, Си.

«CL, по-настоящему универсальный язык: глюки Си в привычном REPL!» :D

Мне бы хотелось типизацию, которая по умолчанию гарантировала бы отсуствие ошибок из-за несовпадения типов во время исполнения, и позволяла бы _потенциально_ небезопасные операции только в соответствующим помеченных модулях. А пока остается ждать, что хоть какой-нибудь «безопасный Си» доберется до мэйнстрима, и надеяться, что какие-нибудь еретики прикрутят статическую типизацию к Питону.

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

> какое количество считать заметным?

хотябы 1%  программистов использующих его постоянно

или чтобы минимум 5% программистов имели с ним когда-то дело

иначе это труп

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

>Мне бы хотелось типизацию, которая по умолчанию гарантировала бы отсуствие ошибок из-за несовпадения типов во время исполнения

К 65535 прибавили единичку и тип уже не short. А отслеживание workflow приведшего к появлению числа 65535 это неразрешимая задача учитывая то что данные для обработки в общем случае материализуются из IO. Я вообще не понимаю как можно верить в эту хрень относительно безопасной типизации.

А пока остается ждать, что хоть какой-нибудь «безопасный Си» доберется до мэйнстрима

Безопасные языки типа Ады мейнстрим не любит.

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

> А в .NET он вряд ли когда-нибудь вольется. Ленивость наряду с чистотой мешают тому.

Мешает не ленивость и не чистота. Мешает, как ни странно, наличие RTTI и отсутствие нормальной, небезопасной арифметики указателей в .NET. Для эффективной реализации STG-машины нужны грязные трюки с памятью.

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

>> Мне бы хотелось типизацию, которая по умолчанию гарантировала бы отсуствие ошибок из-за несовпадения типов во время исполнения

К 65535 прибавили единичку и тип уже не short.

Чушь. Переполнение включено в определение для типа short.

Я вообще не понимаю как можно верить в эту хрень относительно безопасной типизации.

Это проблема не с типизацией.

А пока остается ждать, что хоть какой-нибудь «безопасный Си» доберется до мэйнстрима

Безопасные языки типа Ады мейнстрим не любит.

Зато мэйнстрим любит безопасную Яву. Кстати, Cyclone, Ivy или Jekyll не похожи Аду %)

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

>> К 65535 прибавили единичку и тип уже не short.

Чушь. Переполнение включено в определение для типа short.

Процесс, сошедший с ума от того что 65535 + 1 = 0 это не спасет.

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

>>> К 65535 прибавили единичку и тип уже не short.

Чушь. Переполнение включено в определение для типа short.

Процесс, сошедший с ума от того что 65535 + 1 = 0 это не спасет.

Мля. А процесс, который получит TypeError, передав строку «Привет!» в sqrt что-нибудь спасет?

И кстати, процесс, пропустивший директивный срок из-за преобразования short в big decimal, повысившаяся точность тоже не спасет.

tailgunner ★★★★★
()
Ответ на: комментарий от Sun-ch

> Его фишки - квинтенсенция всех успешных идей в программировании, за последние 20 лет в одном флаконе.

Нет там зависимых типов *хотя бы* на уровне с++ и системы эффектов.

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

>Хаскель создан, чтобы вывихивать мозг и писать на нём диссертации. Толку от него никакого.

Хаскель (в том числе) для того, чтобы отсекать тупых ПТУ-шников

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