Обсуждение:Haskell

Последнее сообщение: 9 лет назад от Arachnelis в теме «Определение функций»

Что надо исправить править

  • Рассказать об алгебраических типах, привести пример
  • Рассказать о классах типов, привести пример
  • Пример паралельного программирования
  • Сделать маленький раздел по синтаксису (расширить примеры?)
  • Список расширений в «Характеристиках» или расширить, или вынести в отдельный раздел
  • Переписать раздел «Использование» (сейчас у него никакой идеи, висящие фразы) — переименовать в «Реализации»? Jetxee 18:27, 24 февраля 2010 (UTC)Ответить
  • Добавить раздел «Критика языка» («Недостатки языка»?)
  • Привести в порядок ссылки и литературу
  • В приложениях и библиотеках — добавить раздел по численным и высокопроизводительным вычислениям
  • В приложениях и библиотеках — выкинуть библиотеки либо совсем, либо в отдельный раздел.

Jetxee 18:41, 18 февраля 2010 (UTC)Ответить

Транслитерация Haskell Prime править

Haskell' - по-русски читается, как Хаскель-прим, а ней прайм. Т.к. у английского prime(прайм) есть русский аналог прим, синоним штрих. 94.25.248.33 16:34, 16 февраля 2010 (UTC) helloОтветить

Хочу заметить, что фрацузское произношение «прим» мне ни разу в живой математической/естественно-научной речи не встречалось. В современной русской языковой практике сейчас почти всегда используется слово «штрих» (что легко подтверждается и гуглом/яндексом). При этом Haskell’ — англоязычный процесс, и, очевидно, все его участники называют этот процесс по-английски, «прайм». Знать эту транслитерацию, по-моему полезно. Если переводить — то переводить как «штрих». Если транслитерировать — как «прайм». Однако ни в коем случае не «прим», которое в письменном языке статьи также путается с сокращением «прим.» — примечание. Jetxee 16:45, 18 февраля 2010 (UTC)Ответить
Дайте, пожалуйста ссылку на АИ. Bektur 19:29, 16 февраля 2010 (UTC)Ответить
непонимаю вашу предубеждённость к анонимам, поэтому АИ дам я. Англо-русский словарь называется. Цитирую:

prime[praɪm]

1. сущ.

1) начало

а) утренние часы, рассвет

б) начальная стадия (чего-л.); начальный этап (процесса)

в) поэт. весна; молодость

2) расцвет, зенит, лучшая пора

in the prime of one's glory — в зените славы

Syn:

peak, heyday

3) лучшая часть, цвет (чего-л.)

4) рел. заутреня (католическая)

5) мат.

а) простое число

Syn:

prime number

б) прим, знак штриха

6) фин.; = prime rate основная ставка, прайм-рейт

7) муз. прима; основной тон

Смотрим значение 65б, и видим, как переводится слово prime в смысле «штрих». Считаете ли Вы что поиск столь сложных АИ вас бы затруднил? Откатываю ваш откат обратно. Или вы считаете, что патрулирование данной правки было сделано «не глядя» --be-nt-all 19:46, 16 февраля 2010 (UTC)Ответить
Пардон, не заметил. Bektur 20:52, 16 февраля 2010 (UTC)Ответить

Возможность использования императивных модулей править

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

У меня впечатление, что два раза повторяется одно и то же. Надо или соединить в один пункт, или конкретизировать каждый пункт. Возможно, имелоись в виду два аспекта:

  • можно писать в императивном стиле, используя монады и do-notation, даже не используя IO и внешние функции;
  • можно интегрировать с другими программами через IO и FFI.

beroal 21:27, 14 Окт 2004 (UTC)

Я имел в виду, что с одной стороны можно пользоваться императивными вставками (при помощи монад, в том числе IO), а с другой стороны — использование внешних программных интерфейсов для связи между программами на различных языках программирования. Dark Magus 05:54, 15 Окт 2004 (UTC)

Влияние Haskell на Python править

Каким конкретно образом Haskell повлиял на Python? Единственное схожее место в этих языках list comprehension - позаимсвованно обоими из miranda( Python так точно из нее ).

Думаю, самое большое влияние — эстетическое — Haskell Layout и отбивка в питоне соответственно. Хотя языки очень разные, представления о красоте и читаемости в них — схожи. Схожий list comprehension — пример того, как из всего синтаксического наследия создатели языков и выбрали схожие вещи. Jetxee 18:28, 18 февраля 2010 (UTC)Ответить


K.Danilov aka koder 18:07, 19 июня 2007 (UTC) Отредактировано K.Danilov aka koder 13:43, 4 июля 2007 (UTC)Ответить

Решето править

--Sieve of Eratosthenes
ero = ero_primes [2..]
ero_primes (x : xs) = x : ero_primes[y | y <- xs , rem y x /= 0]

Это не решето Эратосфена: в нем используется проверочное деление. Настоящее решето есть, например, тут: [1]. --Гопник Хаскель 17:32, 23 ноября 2008 (UTC)

Изучай Haskell ради Добра править

В чём проблема? — Эта реплика добавлена участником Bektur (ов)

Блоги в подавляющем большинстве не являются авторитетными источниками, см. также п. 8 ВП:ВС#Неприемлемые ссылки. По Haskell хватает нормальных источников, от учебников до научных работ. Выбирайте подходящий и пишете статью. — Claymore 17:20, 14 июля 2010 (UTC)Ответить
ЖЖ-сообщества: ru_lambda и ru_declarative, Санкт-Петербургская группа пользователей Haskell, ФП: lazy evaluation — это завтрашние результаты вычисления функций уже сегодня - на каком основании всё ещё здесь? Bektur 17:34, 14 июля 2010 (UTC)Ответить
Не знаю, я давно не читал статью целиком, а смотрел конкретные диффы. Теперь их тоже нет, спасибо за привлечение внимания. — Claymore 17:37, 14 июля 2010 (UTC)Ответить
http://kchri.narod.ru Курс лекций и лабораторные работы на Haskell - даже автора нет. Оставить? Bektur 17:42, 14 июля 2010 (UTC)Ответить
Я первоначально не стал удалять его только поскольку посчитал, что эти лекции читают в каком-нибудь институте. Но если вы считаете их сомнительными, можно удалить. Замену будет подыскать достаточно легко. — Claymore 17:52, 14 июля 2010 (UTC)Ответить

Расширяйтесь! править

Сделаны Род (теория типов) (перевод с английского, кроме главы про рода в Хаскеле, т.к. там идёт спор); Полнотиповое программирование (перевод с en:Typeful programming); Конструктор типов; Конструктор данных; есть редиректы Параметрический полиморфизм и ad hoc полиморфизм, ведущие также на адекватное содержание. Модели вызова делаю, так что на call-by-need в ближайшее время можно будет сослаться. Всё это также упоминается в Тип данных и Система типов. Предлагаю желающим воспользоваться этими ссылками для расширения материала в статье. Предлагаю при этом руководствоваться разработанной шаблонной структурой для всех статей о языках (предложения по её доработке принимаются). Желающим развить Х-М-семейство в целом предлагаю дружить и сотрудничать (например, делаю потихоньку в личке Standard ML). Буду благодарен и за подкидывание советов в Языково-ориентированное программирование Arachnelis 18:13, 21 марта 2014 (UTC)Ответить

работают редиректы call-by-need, call by need, вызов по необходимости и вызов-по-необходимости, все ведут в одну сторону - на раздел полноценной статьи Стратегия вычисления. Ещё сделан Функциональный тип. Arachnelis 18:04, 29 мая 2014 (UTC)Ответить

Определение функций править

У Душкина написано "клоз". Если есть АИ, где "клоза", надо писать оба варианта, либо тогда вернуть. Arachnelis 18:13, 9 июня 2014 (UTC)Ответить

  • Позвольте длинную цитату из Логика в решении проблем, Р.Ковальски, 1990:

«Прежде всего это касается основного для данной книги понятия „clause“. На русский язык оно переводится либо как „калька“, „клауза“, либо как „дизъюнкт“. Переводчики предпочли первый перевод. Тут они были не оригинальны. Аналогичное решение было принято при переводе на русский язык известной книги Х. Б. Карри „Основания математической логики“, изданной в нашей стране в 1969 г. в издательстве „Мир“. Поясняя свою позицию, переводчики данной книги мотивировали свое решение тем, что термин „дизъюнкт“ плох хотя бы потому, что дизъюнкт не обязательно универсально замкнут. Другие возможные способы перевода термина „clause“ („предложение“ или „клоз“) были также отвергнуты. Термин „предложение“ слишком перегружен другими смыслами (как и термин „утверждение“), а галлицизм „клоз“ явно проигрывает по сравнению с привычным для отечественной научной терминологии латинизмом.» В общем, дело только затемнилось. Кстати, имеется в виду, что в переводе используется конечно "клауза", а не калька, что можно проверить поиском. РоманСузи 19:24, 9 июня 2014 (UTC)Ответить

  • Признаться, я обескуражен. Ещё до Душкина я слышал "клоз" от проложистов. Поскольку и то, и другое идёт в контексте декларативного программирования, то я думал, что оно восходит к МкКарти с его первым шагом на пути к ИИ - созданию языка для построения мыслей. Слова складываются в предложения, и те вводят в речь новые, более сложные слова. Т.е. я всерьёз считал, что имеются ввиду именно предложения, в самом что ни есть лингвистическом смысле. Не смею спорить с зубрами науки, я один АИ назвал - решайте, как лучше. upd: лично у меня "клауза" устойчиво ассоциируется с "кляузой". Смею предположить, что такую транслитерацию ввели те, кто в школе учил немецкий, как это у нас часто бывает. Arachnelis 17:40, 10 июня 2014 (UTC)Ответить