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

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

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

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

Иэххх...

Integer overflows cannot be detected after they have happened, so there is not way for an application to tell if a result it has calculated previously is in fact correct.

Может, всё-таки программист сам должен проверять что же возвращается в итоге? Где-то, в 2003 (самое позднее) писано об этом было. В phrack.

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

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

Работа над shared libraries финансируется коммерческими пользователями Haskell через IHG. Под Linux уже сделали, под Windows делают.

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

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

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

В Cyclone кое-что из этого есть :)

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

> Бойся осуществления своей мечты! )))

Это была не моя мечта :) Но я постараюсь высказываться осторожнее %)

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

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

Врагам моим такое будущее.

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

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

Пока не дочитал, сказать не могу. Конечно, есть что-то, про что я не знал. Но зачем там перечень ключей ghc на 6 страниц или скриншот диалога «Создать новый проект» Эклипса на весь лист? Хе, вот я сам таким макаром РПЗ к своему диплому делал, но тож для себя, а книга - она для всех. Както не чувствуется уважения к читателю.

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

Это ты Монахова «Нетбинс и чего-то там» в руках не держал. Взял бы в руки - понял бы, что все другие авторы тебя за человека держат.

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

>Ада сложна

Да вообще любая реализация таких идей будет сложна. Но Аду от поделий типа Cyclone отдаляет количество человеколет инвестированное в покрытие каждого аспекта Ады тесткейсами.

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

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

Я, честно говоря, не знаю как связано преподавание ин.яза в обычной средней школе со снанием английского как такового. Тем более мне не понятна связь школьной информатики с хаскелем. Кстати, не все в школе учили английский, это раз. И, во-вторых, сказать групе студентов: «вот вам эрзац учебника душкина, на русском, а вот вам целая библиотека, но на английском, дальше разбирайтесь как хотите» - заведомый фейл.

Да, и самое главное, илитисты не нужны. Вот.

Если вы не осилили анлгийский в школе, и не можете осилить хаскель - вам не повезло, вы балбес!

Я-то как раз осилил, раз помощь в переводе предлагал. Не?

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

Все-таки random в Хаскеле чистый

может быть. я больше в общем говорил, чем о конкретной реализации

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

> Кстати, не все в школе учили английский, это раз. И, во-вторых, сказать групе студентов: «вот вам эрзац учебника душкина, на русском, а вот вам целая библиотека, но на английском, дальше разбирайтесь как хотите» - заведомый фейл.

Книги по хаскелю есть на немецком и французском. А то, что быдло-студенты не знают английского языка, являющимся де-факто языком Computer Scince, это отличный показатель их безграмотности и профнепригодности.

Да, и самое главное, илитисты не нужны. Вот.

илитисты

Простите, кто-кто‽

>Если вы не осилили анлгийский в школе, и не можете осилить хаскель - вам не повезло, вы балбес!

Я-то как раз осилил, раз помощь в переводе предлагал. Не?

Я не понял, на какой язык вы предлагаете переводить хаскель? Вы о чем вообще?

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

> >> книга Душкина — «Практика работы на языке Haskell».

Можно кратенькую рецензию на нее пожалуйста?

Не читал, но осуждаю ©

Вернее, наслышан, осуждаю. Сначала листаешь YAHТ, потом RWH + вики/#haskell/доки = профит.

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

> google Cyclone

Cyclone, насколько я знаю, уже загнулся и не поддерживается.

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

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

Тебе на rsdn, там шло обсуждение. Если не гоню, то попытки были, возможно некоторые главы были переведенны. Первый тред вот - http://www.rsdn.ru/forum/decl/3208842.all.aspx

Чем закончилось - не знаю.

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

Точно, мне почему-то казалось, что это было тут, на лоре.

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

Не, анон, иди нафиг. Русскоязычная литература по хаскелю _НУЖНА_. И перевод такой штуки RWH был бы очень кстати.

ЗЫ если кто возьмется, буду помогать. Самому организовывать времени нет увы.

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

>> http://learnyouahaskell.com/

О да, классная вещь. Сам с неё начинал. Жаль только, что обрывается на самом интересном месте (да-да, я монады имею в виду).

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

> Русскоязычная литература по хаскелю _НУЖНА_

Всего не переведёшь, тем более, что хаскель очень математичен, и все статьи обычно пишутся на английском (посмотри на citeseerx).

Ну будет RWH, а дальше что? А дальше приехали, ты упрёшься в теорию и будешь топтаться на месте. Что-то несложное и базовое ты осилишь, но не больше. Комменты в коде/ака документация опять же на английском

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

>Если вы не осилили анлгийский в школе, и не можете осилить хаскель - вам не повезло, вы балбес!

а если я учил французский в школе, что мне делать? Почему Вы пишете на русском, пишите сюда на английском и с людьми на улице и в магазинах общайтесь на английском, если не поймут сообщайте им, что они балбесы, главное здоровье при этом не потерять, хотя в Вашем случае - невелика потеря.

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

>Книги по хаскелю есть на немецком и французском. А то, что быдло-студенты не знают английского языка, являющимся де-факто языком Computer Scince, это отличный показатель их безграмотности и профнепригодности.

Получается, немецкие и французские переводчики книг по хаскелу пытаются в своей среде взрастить безграмотное и непрофессиональное быдло, коль их угораздило перевести с языка «являющегося де-факто языком Computer Scince» на свои недоязыки эту литературу?

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

А я не программист,это хобби у меня такое. Хочу отметить, что нет языка «де-факто» в науке, есть более слабая научная школа. В химии, например, очень много переводных монографий, это очень помогает студенту - он изучает химию, а не иностранный язык.

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

Я купил себе недавно SICP на немецком (языком владею свободно). Лучше бы я ее не покупал... Перевели все, даже названия ф-й и переменных. Правы те, кто считает, что английский в IT необходим. Просто по причине того, что большинство полезной литературы на нем. Вместо того, чтобы ждать, пока гора придет к Магомету, проще было бы освоить язык на уровне, достаточном для чтения технической литературы.

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

> а если я учил французский в школе, что мне делать?

Учи английский. Знание двух языков в любом случае полезнее одного.

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

>Учи английский. Знание двух языков в любом случае полезнее одного.

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

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

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

=)), причина не в наличии (полезной литературы на английском), а в отсутствии (полезной литературы на русском).

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

Я это и имел в виду :) Кроме того, лучше всего такие книги читаются в оригинале.

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

Де-юре - нету, а де-факто - есть, и этот язык, как это не прискорбно, английский.

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

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

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

> Получается, немецкие и французские переводчики книг по хаскелу пытаются в своей среде взрастить безграмотное и непрофессиональное быдло, коль их угораздило перевести с языка «являющегося де-факто языком Computer Scince» на свои недоязыки эту литературу?

Нет, они помогают начинающим освоить языки. В большинстве немецких вузов обучение (по-крайней мере IT & related) идёт не полностью на немецком - часть предметов идёт на английском языке.

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

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

Хороший аргумент про школу. И ситуация в этой сфере не изменится, пока осилившая технический английский «элита» будет противопоставлять себя неосилившим «балбесам» и «непрофессиональному быдлу» вместо того, чтобы помочь снизить порог вхождения. Грустно это все.

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

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

Человек, не владеющий английским языком в сфере IT бесполезен. Он не сможет общаться с остальным не-русскоговорящим миром. Не сможет читать и понимать документацию на английском языке (а её абсолютное большинство). Я только за хорошие учебники на русском языке, всеми лапами за. Но только получается так, что либо учебник переведён угрёбищно, либо книга написана угрёбищна, либо книга уже неауктальная, либо книга покрывает лишь малую область. Есть очень мало действительно толковых книг, которые стоит прочитать на русском языке. Но они есть, что не может не радовать.

Начинающим хаскелятором рекомендую почитать Харрисон/Филд «Функциональное программирование» (там в переводе были какие-то косяки, но я уже забыл, что мне именно не нравилось, книжка электронная и карандашиком на полях не чиркнешь)

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

В любом случае, если речь идёт про изучение языков - лучше выучить немецкий/английский, чем хаскель ;)

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

>Человек, не владеющий английским языком в сфере IT бесполезен. Он не сможет общаться с остальным не-русскоговорящим миром. Не сможет читать и понимать документацию на английском языке (а её абсолютное большинство).

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

Я только за хорошие учебники на русском языке

Вы меня удивляете! Я вообще против плохих учебников, на любом языке! =)

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

Они никогда не появятся если все будут писать на английском.

Кстати, что меня бесит именно при общении в среде людей связанных с ИТ, так это именно перегруженность речи английскими словами и акронимами вставляемыми повсюду к месту и не к месту (на подобии: WTF, OMG, IT & related и т.п.) это почему то считается круто. Причём, общаясь с профессиональными переводчиками, филологами я подобного с их стороны не замечал.

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

все русскоязычные материалы по хаскелю - нужно уничтожить. а хаскелитов выслать в Сибирь, что-бы другим не повадно было. Заводы стоят - одни хасклиты в стране, а те что не хасклиты - лисперы(один х#@). Выучили бы джаву или Си-шарп и подняли экономику Рашики, а не штаны просиживали у мануалов.

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

Проследуйте в биореактор, радетель Родины вы наш.

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

> Человек, не владеющий английским языком в сфере IT бесполезен.

Вы считаете это каким-то образом противоречен необходимости наличия русской документации?

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

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

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

Кстати, что меня бесит именно при общении в среде людей связанных с ИТ, так это именно перегруженность речи английскими словами и акронимами вставляемыми повсюду к месту и не к месту (на подобии: WTF, OMG, IT & related и т.п.) это почему то считается круто. Причём, общаясь с профессиональными переводчиками, филологами я подобного с их стороны не замечал.

Это не круто, это привычка. Если переписка вся на английском, общение с другими командами на английском, доки от тебя требуют на английском, то разве не ясно, что неустоявшиеся/отстутсвующие термины будут заимствоваться? Пример - тред, форк, аборт, мьютекс, спинлок, коммит, чек-ин/чек-аут, тесткейз, и т.д. Ну-ка, накидайте «правильных» переводов (желательно не длинее, чем те слова, которые я привёл).

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

Я теперь понял, какие ушлёпки делают что-то вроде вот этого:


ОТДЕЛ Punycode;
ИСПОЛЬЗУЕТ
  Асм ИЗ "...\Отделы\Иное\",
  Цепь ИЗ "...\Отделы\Иное\",
  Буква ИЗ "...\Отделы\Иное\",
  Вывод ИЗ "...\Отделы\Обмен\";

ЗАДАЧА РаскодРазр(c: ЦЕЛ): ЦЕЛ;
УКАЗ
  ЕСЛИ c - 48 < 10 ТО ВОЗВРАТ c - 22
  АЕСЛИ c - 65 < 26 ТО ВОЗВРАТ c - 65
  АЕСЛИ c - 97 < 26 ТО ВОЗВРАТ c - 97
  ИНАЧЕ ВОЗВРАТ 36 КОН
КОН РаскодРазр;

ЗАДАЧА ЗакодРазр(d: ЦЕЛ; f: КЛЮЧ): ЦЕЛ;
УКАЗ
  ЕСЛИ d < 26 ТО ЕСЛИ f ТО ВОЗВРАТ d + 65 ИНАЧЕ ВОЗВРАТ d + 97 КОН
  ИНАЧЕ ЕСЛИ f ТО ВОЗВРАТ d - 10 ИНАЧЕ ВОЗВРАТ d + 22 КОН КОН
КОН ЗакодРазр;

ЗАДАЧА Адапт(д, н: ЦЕЛ; п: КЛЮЧ): ЦЕЛ;
ПЕР
  сч: ЦЕЛ;
УКАЗ
  ЕСЛИ п ТО д := УЗК(ВШИРЦЕЛ(ЦЕЛЧАСТЬ(д / 700))) ИНАЧЕ д := Асм.Сдвиг(д, -1) КОН;
  УВЕЛИЧИТЬ(д, УЗК(ВШИРЦЕЛ(ЦЕЛЧАСТЬ(д / н))));
  сч := 0;
  ПОКА д > Асм.Сдвиг(((36 - 1) * 26), -1) ВЫП
    д := УЗК(ВШИРЦЕЛ(ЦЕЛЧАСТЬ(д / ( 36 - 1 )))); УВЕЛИЧИТЬ(сч, 36)
  КОН;
  ВОЗВРАТ УЗК(ВШИРЦЕЛ(ЦЕЛЧАСТЬ(сч + (36 - 1 + 1) * д / (д + 38))))
КОН Адапт;

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

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

> =)), причина не в наличии (полезной литературы на английском), а в отсутствии (полезной литературы на русском).

Вы слышали, что такое электронная почта, IM, email lists? Как вы будете писать письмо не на английском языке в haskel-café, как будете сабмитить баги разработчикам 99% опен-сурс проектов? Будете писать на русском? Хахаха, удачи. Я ещё раз говорю, что люди, не знающие английского - сейчас бесполезны в IT.

Да что далеко ходить, элементарно не все man'ы и info есть на русском. Получается пользователь, которые не то что херовый разработчик, так ещё и пользователь криворукий, который не сможет осилить документацию. Замечательно.

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

>> Есть очень мало действительно толковых книг, которые стоит прочитать

на русском языке.



Они никогда не появятся если все будут писать на английском.



Вперед - переводите на русский. Только этого никто не делает, ибо
систематический перевод текстов - рутина, и потому западло. Это, по
сути, распыление усилий.

Кстати, что меня бесит именно при общении в среде людей связанных с ИТ,

так это именно перегруженность речи английскими словами и акронимами


вставляемыми повсюду к месту и не к месту (на подобии: WTF, OMG, IT &


related и т.п.) это почему то считается круто.



А почему это вас бесит?

Я этот феномен могу объяснить так: человек хочет передать сырой кусок
информации (голую семантику), для этого ему нужно облечь его в некий
синтаксис, а поскольку постоянно пребываешь в потоках англоязычной
информации, естественным образом из пучины подсознания всплывает
англоязычная конструкция - она и идет в ход. И это правильно.

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

> после основ нужен английский язык

А с этим никто не спорит. Но ключевое слово здесь --- после. Без нормальной начальной документации человек просто не дойдёт до ситуации, когда понадобится нечто продвинутое.

На самом деле ты сейчас выглядишь как человек, выступающий против школьного учебника физики потому, что в Ландавшице всё есть и на гораздо лучшем уровне. Это безумие.

делают что-то вроде вот этого:

что вызывает в вас такое раздражение?

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

>> Человек, не владеющий английским языком в сфере IT бесполезен.

Вы считаете это каким-то образом противоречен необходимости наличия русской документации?

Ага, «необходимость» нужно заменить на «желательность». Поддерживать документацию на двух языках и более равняется удвоению расходов, задержкам, ошибкам и *несогласованности* между рус/англ документацией. Доки не всегда актуальны, а так будет «в двойне» хуже, толку от такой документации?

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

Ах ты ж боже мой, ну всё, неразрешимые проблемы и виноват тут, конечно же, хаскель ;) Да ладно тебе, техническая литература по большей части не требует очень большого словарного запаса, и читается легко (если человек не гуманитарий). Если наш пациент и этого не может - значит действительно не фиг ему пытаться, пока не вырастет.

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

> что вызывает в вас такое раздражение?

Текст изобилует кучей малой велосипедов, привычные глазу вещи называются фиг пойми как, чтоб продраться через мешанину русских сокращений (неизвестных и непонятных *сходу*) приходится тратить время на разглядывание и лишний раз отвлекаться. Неудобно.

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

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

Не надо снижать порог вхождения!

Из-за видимости низкого порога вхождения в программирование лезут дети. А от детей, как известно, программирование тупеет.

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