HaskellLanguage

ac: Впервые описан, кажется, в 1987 году.

hw: в 1995 году праздновали 5 лет, так что наверное 1989 будет правильнее, афаик, это пересмотренный Gopher, истоком которого был ML (в свою очередь произошедший от SASL).

ac: Удивительно изящный и лаконичный, чисто ФункциональныйЯзык. Достоин того чтобы поставить его в один ряд с LispLanguage. Ряд его интересных возможностей (например, бесконечные списки и "ленивые вычисления") я не встречал в других языках (ленивые вычисления есть в MondrianLanguage, но его считают потомком Haskell).

pm: Есть функционально-логический язык Curry - помесь Haskell и Prolog. Что интересно, логический стиль позволяет красиво описать обмен сообщениями. Вот пример программы - несколько стековыз калькуляторов управляются сообщениями и могут обмениваться данными между собой (почти сеть форт-процессоров :-). http://www.wtk.ru/pm/fp/st.curry Сам язык описан здесь http://www.informatik.uni-kiel.de/mh/curry/

hw: немного с этим не согласен, бесконечные списки суть следствие ленивой семантики вычислений последняя также не является чем-то особенно новым, достаточно вспомнить такие вещи, как call-by-name, call-by-need (появились еще со времен Алгола). В конечном итоге это просто вопрос квотинга параметров по умолчанию. Возможно программировать в "ленивом" стиле используя другие языки программирования (тот-же Лисп/Схема).

ac: Конечно, сделать можно и в Форте, если захотеть. Я о принципах, заложенных в язык изначально...

hw: в общем да... но... я тоже об этом :-) при передаче значения в функцию вчисление происходит в момент вызова (как обычно, т.е. "традиционно", если я могу так сказать) либо же посредством специального переходника, когда момент вызова переносится в точку использования. В haskell в такие переходники заносятся все параметры, в языках вроде Algol-68 или Leda только те, которые call-by-name/need ... вопрос в квотинге по умолчанию. Кстати... в обычном Лиспе тоже существуют формы не вычисляющие свои параметры... (if или cond например)

ac: А об Алголе - я прямой аналогии не вижу.

hw: Аналогия не прямая, безусловно, я подчеркнул особенности lazy evaluation

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

hw: есть разница в "писать на языке" и "знать о нем", я тоже ничего не писал на Haskell'e, я пока только подбираюсь к нему, читаю список рассылки на haskell.org в течение 2-х лет... статьи... боюсь, что этим дело и ограничивается. Мой первый интерес был, как я и сказал, "Monadic Parser Combinators" ... сюда я попал после ознакомления с работами Т.Бадда (ЯВУ - Леда), а до этого...

ac: Вот только, похоже, изяществом дело и ограничивается. "В природе" программы на Haskell не встречаются. Правда я специально не искал :)

hw: Не согласен, трансляторов действительно не много, но примеров программ - масса, рекомендую "Monadic parser combinators" через которую я с этим ЯВУ впервые и познакомился

ac Вот я и говорю, "в природе не встречается". Указанное приложение - это не природа, а лаборатория. Природа - на столах у юзеров :)

pm: http://www.russianenterprisesolutions.com/techno/01/031.html - здесь упоминается промышленная экспертная система, написанная на этом языке.

hw: ну..... а что делать бедным хакерам? ;-/ может быть ты и прав, но я стараюсь держаться подальше от "пользователей" я уже устал всем отвечать почему я использую FAR и т.п.

ac: Я тоже FAR люблю, на этом сайте вопросы по FAR попали в FAQ. Напишите туда и свой ответ, тогда не надо будет уставать отвечать, можно давать линк на ответ :)

ac: Есть версия для MS .NET, работающая через MondrianLanguage.

hw: Глупости - Mondrian - старая версия сабжа (использует GHC 4.08, несовместима с 5.хх, но в тонкости я не влезал). Что касается синтаксиса - ничего сверхъестественного, обычная настраиваемая система операторов и приоритетов (аналогично реализовано в Прологе). Что касается трансляторов: GHC, NHC, Hugs (это только самые популярные).

ac: Про Mondrian я вообще ничего не знал до недавнего времени. Узнал лишь из списка поддерживающих .NET языков. Там прямо и сказано, что Mondrian поддерживает, а Haskell тоже можно, но через Mondrian. Своего мнения на этот счет у меня нет, т.к. не использовал этот Mondrian.NET. Буду очень признателен, если просветите нас на этот счет, т.к. в вас чувствуется специалист по этому вопросу ;) Пишите!

hw: Они отсвечивались в рассылке 1.5 года назад, да и сейчас периодически с анонсами бывают. Микрософт разрабатывает Mondrian и я слышал, что они собираются Перл включать в состав 7-й студии... (Микрософтовский перл я видел еще 4 года назад), кстати, они переманили к себе S.P.Jones (один из разработчиков ЯВУ Haskell)

hw: Давай лучше на ты, да? (если возможно)

ac: Ответ на этот вопрос мне надо тоже поместить в FAQ :) Я с удовольствием перехожу на "ты", но потом часто забываю с кем перешел (хоть храни этот "флаг" в почтовом клиенте :-). Проблема в том, что большинство из пишущих мне - клиенты, с ними на "ты" сложно. Поэтому и с другими часто сбиваюсь на "вы". Вот.

hw = Hard Wisdom // hw@ksue.edu.ua

Valid XHTML 1.0! Valid CSS!
Page Execution took real: 1.073 seconds