Авторы подразумевают, что это "Описание" принадлежит всему сообществу Haskell, и поэтому дают разрешение копировать и распространять его с любой целью, при условии, что оно будет воспроизведено полностью, включая это уведомление. Измененные версии этого "Описания" можно также копировать и распространять с любой целью, при условии, что измененная версия ясно представлена как таковая и не претендует на то, чтобы являться определением языка Haskell 98
Авторы: Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, Philip Wadler.
Перевод выполнен М.Ю.Ландиной и В.А.Рогановым
Около полдюжины человек формально написали
комбинаторную логику , и большинство из них, включая нас, допустили ошибки. Поскольку некоторые из наших приятелей-грешников относятся к наиболее аккуратным и компетентным логикам современности, мы рассматриваем данный факт как доказательство того, что ошибок трудно избежать. Таким образом, полнота описания необходима для точности, и чрезмерная краткость была бы здесь ложной экономией, даже больше, чем обычно. (в предисловии к Комбинаторной Логике [2], 31 мая 1956)
В сентябре 1987 на конференции "Языки функционального программирования и компьютерная архитектура" (FPCA '87) в Портленде, штат Орегон, было организовано заседание для того, чтобы обсудить плачевную ситуацию, сложившуюся в сообществе функционального программирования: возникло более дюжины нестрогих чисто функциональных языков программирования, сходных в выразительной мощности и семантических основах. Участники встречи пришли к твердому мнению, что более широкому использованию этого класса функциональных языков препятствовало отсутствие общего языка. Было решено, что должен быть сформирован комитет для разработки такого языка, который обеспечил бы более быстрое средство связи новых идей, устойчивой основы для разработки реальных приложений и механизма поощрения других людей использовать функциональные языки. Этот документ описывает результат усилий этого комитета - чисто функциональный язык программирования, названный Haskell , в честь логика Хаскелла Б. Карри (Haskell B.
Основная цель комитета заключалась в разработке языка, который удовлетворял бы следующим требованиям:
Комитет планировал, что Haskell послужит основой для будущего исследования в разработке языков, и выражал надежду, что появятся расширения или варианты языка, включая экспериментальные функциональные возможности.
Haskell действительно непрерывно развивался с тех пор, как было опубликовано его первоначальное описание. К середине 1997 было выполнено четыре итерации в разработке языка (самая последняя на тот момент - Haskell 1.4). В 1997 на семинаре по Haskell в Амстердаме было решено, что необходим стабильный вариант Haskell , этот стабильный вариант языка является темой настоящего описания и называется "Haskell 98".
Haskell 98 задумывался как относительно незначительная модификация Haskell 1.4, выполненная за счет некоторых упрощений и удаления некоторых подводных камней. Он предназначен играть роль "стабильного" языка в том смысле, что разработчики выполняют поддержку Haskell 98 в точности с его спецификацией, для обеспечения предсказуемости в будущем.
Первоначальное описание Haskell описывало только язык и стандартную библиотеку, названную Prelude. К тому времени, когда Haskell 98 был признан стабильной версией, стало ясно, что многим программам необходим доступ к большому набору библиотечных функций (особенно это касается ввода - вывода и взаимодействия с операционной системой). Если эта программа должна быть переносимой, набор библиотек также должен быть стандартизирован. Поэтому отдельный комитет (в который входили некоторые из членов комитета по разработке языка) начал вносить исправления в библиотеки Haskell 98.
Описания языка Haskell 98 и библиотек были опубликованы в феврале 1999.
Через год или два было выявлено много типографских ошибок и погрешностей. Я взялся собирать и выполнять эти исправления со следующими целями:
Эта задача, оказалось намного, намного более масштабной, чем я ожидал. Поскольку Haskell все более широко использовался, его описание внимательно изучалось все большим и большим количеством людей, и я внес сотни (главным образом небольших) поправок в результате этой обратной связи. Первоначальные комитеты прекратили свое существование, когда было опубликовано первое описание Haskell 98, поэтому каждое изменение вместо этого вносилось на рассмотрение всего списка адресатов Haskell .
Этот документ является результатом описанного процесса усовершенствования. Он включает и описание языка Haskell 98, и описание библиотек и составляет официальную спецификацию обоих. Он не является учебным пособием по программированию на Haskell , как краткий вводный курс "Gentle Introduction" [6], и предполагает некоторое знакомство читателя с функциональными языками.
Полный текст обоих описаний доступен в режиме онлайн (см. ниже "Ресурсы Haskell ").
Haskell продолжает развиваться и сильно продвинулся дальше Haskell 98. Например, на момент написания этого документа имеются реализации Haskell , которые поддерживают:
Синтаксические возможности, включая:
Новации в системе типов, включая:
Расширения управления, включая:
и многое другое. Haskell 98 не препятствует этим разработкам. Вместо этого, он обеспечивает стабильную контрольную точку, чтобы те, кто хочет писать учебники или использовать Haskell для обучения, мог осуществить задуманное, зная, что Haskell 98 продолжит существование.
Web-сайт Haskell http://haskell.org предоставляет доступ ко многим полезным ресурсам, включая:
Приглашаем Вас комментировать, предлагать усовершенствования и критиковать язык или его представление в описании посредством рассылки Haskell .
Haskell создан и продолжает поддерживаться активным сообществом исследователей и прикладных программистов. Те, кто входил в состав комитетов по языку и библиотекам, в частности, посвятили огромное количество времени и энергии языку. Их имена, а также присоединившиеся к ним на тот период организации перечислены ниже: Arvind (MIT), Lennart Augustsson (Chalmers University), Dave Barton (Mitre Corp), Brian Boutel (Victoria University of Wellington), Warren Burton (Simon Fraser University), Jon Fairbairn (University of Cambridge), Joseph Fasel (Los Alamos National Laboratory), Andy Gordon (University of Cambridge), Maria Guzman (Yale University), Kevin Hammond [редактор] (University of Glasgow), Ralf Hinze (University of Bonn), Paul Hudak [редактор] (Yale University), John Hughes [редактор] (University of Glasgow; Chalmers University), Thomas Johnsson (Chalmers University), Mark Jones (Yale University, University of Nottingham, Oregon Graduate Institute), Dick Kieburtz (Oregon Graduate Institute), John Launchbury (University of Glasgow; Oregon Graduate Institute), Erik Meijer (Utrecht University), Rishiyur Nikhil (MIT), John Peterson [редактор] (Yale University), Simon Peyton Jones [редактор] (University of Glasgow; Microsoft Research Ltd), Mike Reeve (Imperial College), Alastair Reid (University of Glasgow), Colin Runciman (University of York), Philip Wadler [редактор] (University of Glasgow), David Wise (Indiana University), Jonathan Young (Yale University)
Те, кто помечены [редактор], работали в качестве координирующих редакторов одной или более ревизий языка.
Кроме того, множество других людей внесли свой вклад, некоторые - небольшой, но многие - существенный. Это следующие люди: Kris Aerts, Hans Aberg, Sten Anderson, Richard Bird, Stephen Blott, Tom Blenko, Duke Briscoe, Paul Callaghan, Magnus Carlsson, Mark Carroll, Manuel Chakravarty, Franklin Chen, Olaf Chitil, Chris Clack, Guy Cousineau, Tony Davie, Craig Dickson, Chris Dornan, Laura Dutton, Chris Fasel, Pat Fasel, Sigbjorn Finne, Michael Fryers, Andy Gill, Mike Gunter, Cordy Hall, Mark Hall, Thomas Hallgren, Matt Harden, Klemens Hemm, Fergus Henderson, Dean Herington, Ralf Hinze, Bob Hiromoto, Nic Holt, Ian Holyer, Randy Hudson, Alexander Jacobson, Patrik Jansson, Robert Jeschofnik, Orjan Johansen, Simon B. Jones, Stef Joosten, Mike Joy, Stefan Kahrs, Antti-Juhani Kaijanaho, Jerzy Karczmarczuk, Wolfram Kahl, Kent Karlsson, Richard Kelsey, Siau-Cheng Khoo, Amir Kishon, Feliks Kluzniak, Jan Kort, Marcin Kowalczyk, Jose Labra, Jeff Lewis, Mark Lillibridge, Bjorn Lisper, Sandra Loosemore, Pablo Lopez, Olaf Lubeck, Ian Lynagh, Christian Maeder, Ketil Malde, Simon Marlow, Michael Marte, Jim Mattson, John Meacham, Sergey Mechveliani, Gary Memovich, Randy Michelsen, Rick Mohr, Andy Moran, Graeme Moss, Henrik Nilsson, Arthur Norman, Nick North, Chris Okasaki, Bjarte M. Ostvold, Paul Otto, Sven Panne, Dave Parrott, Ross Paterson, Larne Pekowsky, Rinus Plasmeijer, Ian Poole, Stephen Price, John Robson, Andreas Rossberg, George Russell, Patrick Sansom, Michael Schneider, Felix Schroeter, Julian Seward, Nimish Shah, Christian Sievers, Libor Skarvada, Jan Skibinski, Lauren Smith, Raman Sundaresh, Josef Svenningsson, Ken Takusagawa, Satish Thatte, Simon Thompson, Tom Thomson, Tommy Thorn, Dylan Thurston, Mike Thyer, Mark Tullsen, David Tweed, Pradeep Varma, Malcolm Wallace, Keith Wansbrough, Tony Warnock, Michael Webber, Carl Witty, Stuart Wray и Bonnie Yantis.
Наконец, кроме важной основополагающей работы Россера (Rosser), Карри (
Саймон Пейтон Джонс (Simon Peyton Jones) Кембридж, сентябрь 2002
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.