|
Navigation
Related Links
Who is online
· 8 online users
|
HaskellLanguageac: Впервые описан, кажется, в 1987 году. hw: в 1995 году праздновали 5 лет, так что наверное 1989 будет правильнее, афаик, это пересмотренный Gopher, истоком которого был ML (в свою очередь произошедший от SASL). ac: Удивительно изящный и лаконичный, чисто ФункциональныйЯзык. Достоин того чтобы поставить его в один ряд с LispLanguage. Ряд его интересных возможностей (например, бесконечные списки и "ленивые вычисления") я не встречал в других языках (ленивые вычисления есть в MondrianLanguage, но его считают потомком Haskell). pm: Есть функционально-логический язык Curry - помесь Haskell и Prolog. Что интересно, логический стиль позволяет красиво описать обмен сообщениями. Вот пример программы - несколько стековыз калькуляторов управляются сообщениями и могут обмениваться данными между собой (почти сеть форт-процессоров :-). 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: 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 |
| Page Execution took real: 1.073 seconds |