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...

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

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

хацкель и питон - пример таких идиотских языков

Точно идиот :(

Пробелы имеют значение и в C, и в shell, и в ... Да почти везде!

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

Вот только ПТУ-шнегу - быдлокодеру - это, похоже, не понять:)

чтойта много черезчур на ЛОРе в последнее время крутых интеллихентов... сраных мнящих себя образованными

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

Пиздеть не мешки ворочать.

Напишите годную программу на этом вашем хаскеле, там и поговорим.

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

А быстро написать прозрачную программу [...] просто

можно на чём угодно, лишь бы знания позволяли... :)

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

> Потерпи ещё чуток, до пенсии недолго осталось. Там и эротические фантазии исчезнут, и языки не нужны будут =)

Беспокоит меня ход твоих мыслей %)

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

>> Какой «такой» - «безопасный» Си? Это уже реальность.

Ээээ... Cyclone?

Например. А в статьях по Cyclone и Ivy ты найдешь кучу полезных ссылок.

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

умрёт как десятки извращенческих творений из 70-ых ... Prolog

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

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

И с автоматическим coverage testing, unit testing, regression testing, load testing. Чёткий был бы язык! Был. Бы.

нафиг, нафиг...

а то будет как в той сказке:

- так что, ты за меня тесты писать будещь?

- ага!

- и что, и код напишешь?

- ага!

[брглмрглфрглтртртр*]

- эй! стоп, стоп, стоп! ты что и зарплату за меня получать будешь?

- ага!

*) работа кипит - прим. ред.

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

shty, ты не знаешь Prolog или не знаешь Erlang? Или у тебя просто проблемы с логикой?


В очередной раз:
Первая реализация Erlang'а была написана на Prolog'е, потом его переписали на сях и логическая парадигма была выпилена на все 100%, об этом пишет Армстронг раза 3 в своей History of Erlang

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

>Perl - самый красивый из всех языков программирования.

Да, у всех разные понятия о красоте.

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

>Например. А в статьях по Cyclone и Ivy ты найдешь кучу полезных ссылок.

А чем та же Ада плоха? Это не экспериментальное поделие, а зрелый и тщательно стандартизованный язык.

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

Первая реализация Erlang'а была написана на Prolog'е, потом его переписали на сях и логическая парадигма была выпилена на все 100%, об этом пишет Армстронг раза 3 в своей History of Erlang

ничего не имею против... и нигде не доказываю обратного, не заметили :)

хотите верьте, хотите - нет, но моё мнение Erlang сильно похож на модифицированный Prolog... возможно виной тому как раз товарищи решившие писать его на Prolog, with Prolog in mind (с поправкой на ветер) он у них и получился, по крайней мере по идеологии :) или не согласны?

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

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

Можно пример плз какой-нить. Интересно на это глянуть.

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

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

Можно пример плз какой-нить.

Насколько я знаю, это было реализовано в паре маргинальных языков лет 30 назад (вроде еще в C# есть, но я его не знаю). Но общая идея тривиальна - код вроде этого:


struct foo *f(char *p0)
{
  /* опасное преобразование - RTTI в Си нет */
  struct foo *p = (struct foo *)p0;

  return p;
}

допустим только в файлах, помеченных #pragma unsafe. То же и для арифметики с указателями.

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

>только больной человек мог придумать синтаксис в котором пробелы имеют значение!

YAML неправославен, лол?

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

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

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

Почему не так?

f . g = \x -> f $ g x

Вообще в этом месте синтаксис и в самом деле избыточный.

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

> Пиздеть не мешки ворочать.

Напишите годную программу на этом вашем хаскеле, там и поговорим.

мне писать на этом отстое? ты в своем уме?

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

>Mythryl. Но это не Си ни разу.

А собственно говоря, что ты имеешь против ML? Его радикальные представители типа хаскеля и окамла ему несколько подпортили репутацию.

«Безопасный» С, когда из него убирают фишки кросплатформеннго ассемблера как-то сразу начинает походить на ML.

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

>> Mythryl. Но это не Си ни разу.

А собственно говоря, что ты имеешь против ML?

Ровно ничего. Он мне даже нравится (в инкарнации Ocaml, с другими просто не знаком).

Его радикальные представители типа хаскеля и окамла ему несколько подпортили репутацию.

Ыыыы... С каких пор Хаскель - это ML?

«Безопасный» С, когда из него убирают фишки кросплатформеннго ассемблера как-то сразу начинает походить на ML.

Ничего подобного. Единственное сходство - pattern matching, но в Си он довольно убог по определению.

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

Хм... А вся работа с указателями является небезопасной или только арифметика? Имхо вся, а не только арифметика, поэтому в #pragma unsafe и разделении модули на безопасные и нет не вижу смысла. Вообще Си не безопасный язык имхо. А если нужен безопасный язык - надо глядеть в сторону другого языка. Однако, я не имею ввиду, что Си плохой язык, просто не безопасный, это его как плюс, так и минус, в зависимости от задачи.

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

ierton> Язык интересен очень фичастым компилятором.

Язык... компилятором... Это уже клиника.

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

>можно на чём угодно, лишь бы знания позволяли... :)

Хаскель тут чрезвычайно удобен. =)

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

хрень книжка, видел тоже. Издана на туалетной бумаге, пропущены буквы, «подъезжая к станции с меня слетела шляпа», 50% книги- перевод манов.

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

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

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

> Не знаю. Тебе виднее что там у тебя болит. Или уже не болит, попривык поди?

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

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

А по содержимому? Такая же «ценная» как и предыдущее его творение?

PS Кто-то вроде собирался переводить RWH. Никто не в курсе, таки начали или заглохло как обычно? Я бы поучаствовал.

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

> Хм... А вся работа с указателями является небезопасной или только арифметика? Имхо вся

Вся. Но считается, что именно арифметика наиболее опасна.

Вообще Си не безопасный язык имхо.

Когда говорится о «безопасном» Си, обычно имеется в виду «модификация языка Си, которая более безопасна по сравнению с немодифицированным». Конечно, Си нельзя сделать безопасным, но можно сделать менее опасным - статистики море, что чаще всего вызывает ошибки - известно.

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

Поэтому я и упомянул о статически типизированном Питоне :)

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

> PS Кто-то вроде собирался переводить RWH. Никто не в курсе, таки начали или заглохло как обычно? Я бы поучаствовал.

А зачем? Оно и на английском замечательно читается.

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

Затем, что на русском ничего, кроме этого вашего душкина нет. А rwh - хорошая современная книжка, рассчитанная на почти нулевого уровня читателя. Это привлечет новых юзеров, и, возможно, поспособствует продвижению хаскеля в институты.

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

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

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

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

Брейнфак попрошу не обижать. По простоте синтаксиса он превосходит Лисп, а по концептуальной чистоте он круче Хаскеля.

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

Практика показала, что лучше всего он подходит для однострочников ;-)

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

> повторяю для танкистов: только идиот будет пользоваться языком в котором пробелы имеют значение.

В хаскееле можно выделять блоки пробелами/отступом, а можно использовать классические {} и ; для разделения того, что раньше делилось \n

Butt-hurt прошёл?

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

> «Безопасный» С, когда из него убирают фишки кросплатформеннго ассемблера как-то сразу начинает походить на ML.

В Си нет вывода типов/системы типов, замыканий, встроенных списков, частичного применения функций, паттерн-матчинга. И каким боком он похож?

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

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

С какого класса начинают сейчас преподавать ин.яз? А с какого класса информатика? Не знаю как у вас, а у нас информатика появилась после начала английского. Тем более, что хаскель учить будут не в школе, а скорее в универе. Если вы не осилили анлгийский в школе, и не можете осилить хаскель - вам не повезло, вы балбес!

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

C# же

поддерживал типизацию как при компиляции, так и при исполнении,

C#

да еще и с динамической типизацией.

C#

И общего назначения?

C#

Да еще с блек^W с выводом типов, динмически, во время исполнения?

C#

Да еще с расширяемой системай типов (всмысле расширяемый так, чтобы «базовые» типы ничем не отличались от «пользовательских»)?

C#

Да еще с компиляцией в нативный код?

C#

Да так, чтобы не тормозило?

C#

да, детка, за C# будущее

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

> возможно я просто нахожусь под впечатлением от метапрограммирования в Python :)

Microsoft Research рекомендует R#... Расширение C# для целей метапрограммирования. http://www.rsdn.ru/projects/rsharp/article/rsharp_mag.xml Может, там повезёт? :) «Колечко» и всё такое... :)))

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