From Wikipedia, the free encyclopedia
Haskell (Ха́скел) — функцыянальная мова праграмавання агульнага прызначэння са статычнай тыпізацыяй, вывадам тыпаў і нястрогімі вылічэннямі. Была распрацаваная для навучання, даследаванняў і прамысловага прымянення; упершыню прапанавала шэраг функцый моў праграмавання, такіх як класы тыпаў і манадычны ўвод-вывад. Асноўнай рэалізацыяй Haskell з’яўляецца кампілятар Glasgow Haskell (GHC). Мова названая ў гонар навукоўца Хаскеля Кары .
Haskell | |
---|---|
Семантыка | функцыянальная |
З’явілася ў | 1990 |
Аўтар(ы) | рабочая група Haskell |
Пашырэнне файлаў | .hs, .lhs |
Рэліз | Haskell 2010 (ліпень 2010) |
Тыпізацыя даных | статычная, строгая |
Асноўныя рэалізацыі | Glasgow Haskell Compiler, Jhc, Utrecht Haskell Compiler |
Зведала ўплыў | Gofer, Lisp, Miranda |
Паўплывала на | Clojure, Elm, Python, Rust, Scala, Swift |
Сайт | haskell.org |
Семантыка Haskell гістарычна заснавана на семантыцы мовы праграмавання Miranda, якая канцэнтравала намаганні першапачатковай рабочай групы Haskell. Апошняя афіцыйная спецыфікацыя мовы была створана ў ліпені 2010 года, далейшае развіццё Haskell працягваецца праз моўныя пашырэнні кампілятара GHC.
Haskell выкарыстоўваецца ў навуковых колах і прамысловасці. Наступныя кампаніі вядомыя, як карыстальнікі Haskell: Facebook, GitHub, Tesla Inc., Barclays, BNP, S&P Global, Zalando.[1]
Па стане на май 2021 года Haskell была 28-й па папулярнасці мовай праграмавання па выніках пошуку навучальных дапаможнікаў у Google.[2] У студзені 2018 года мова Haskell мела менш за 1 % актыўных карыстальнікаў GitHub.[3]
Прыклад напісання праграмы Hello world:
module Main (main) where -- не абавязковы радок
main :: IO () -- не абавязковы радок
main = putStrLn "Hello, World!"
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.