Опубликован: 19.09.2008 | Доступ: свободный | Студентов: 658 / 70 | Оценка: 4.50 / 5.00 | Длительность: 21:25:00
Лекция 1:

Предисловие

Лекция 1: 12 || Лекция 2 >

Расширения Haskell 98

Haskell продолжает развиваться и сильно продвинулся дальше Haskell 98. Например, на момент написания этого документа имеются реализации Haskell , которые поддерживают:

Синтаксические возможности, включая:

  • стражи образцов;
  • рекурсивную do-нотацию;
  • лексически ограниченные переменные типа;
  • возможности для метапрограммирования.

Новации в системе типов, включая:

  • классы типов, использующие множество параметров;
  • функциональные зависимости;
  • экзистенциальные типы;
  • локальный универсальный полиморфизм и типы произвольного ранга.

Расширения управления, включая:

  • монадическое состояние;
  • исключения;
  • параллелизм

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

Ресурсы Haskell

Web-сайт Haskell http://haskell.org предоставляет доступ ко многим полезным ресурсам, включая:

  • Online-версии определений языка и библиотек, включая полный список всех различий между Haskell 98, выпущенным в феврале 1999, и этой исправленной версией.
  • Обучающий материал по Haskell .
  • Детали рассылки Haskell .
  • Реализации Haskell .
  • Дополнительные средства и библиотеки Haskell .
  • Приложения Haskell .

Приглашаем Вас комментировать, предлагать усовершенствования и критиковать язык или его представление в описании посредством рассылки 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), Карри (Curry) и других, положенной в основу лямбда-исчисления, будет правильным признать влияние многих заслуживающих внимания языков программирования, разработанных за эти годы. Хотя трудно точно определить происхождение многих идей, следующие языки были особенно важны: Lisp (и его современные воплощения Common Lisp и Scheme), ISWIM Ландина (Landin), APL, FP [1] Бэкуса (Backus), ML и Standard ML, Hope и Hope +, Clean, Id, Gofer, Sisal и ряд языков Тернера (Turner), завершившиеся созданием Miranda (Miranda является торговой маркой Research Software Ltd.). Без этих предшественников Haskell был бы невозможен.

Саймон Пейтон Джонс (Simon Peyton Jones) Кембридж, сентябрь 2002

Лекция 1: 12 || Лекция 2 >