Haskell: відмінності між версіями
Перейти до навігації
Перейти до пошуку
(Переніс з Файної Меморії.) |
|||
| Рядок 6: | Рядок 6: | ||
== Переваги перед іншими мовами програмування == | == Переваги перед іншими мовами програмування == | ||
[[Файл:HaskellCmp.jpg|300px|thumb|right| | [[Файл:HaskellCmp.jpg|300px|thumb|right|Feel the difference, [[C|Сюшник]].]] | ||
*Код на Хаскеллі в основному виходить дуже коротким, швидко компілюється та гарно виглядає. | *Код на Хаскеллі в основному виходить дуже коротким, швидко компілюється та гарно виглядає. | ||
Версія за 09:58, 26 вересня 2019
|
Haskell (Хаскель) — чиста, функціональна мова програмування. В основному мова популярна серед нердів і математиків, бо для розуміння інших принципу роботи інших мов треба знати лише алгебру і геометрію, то в Хаскелі...
Переваги перед іншими мовами програмування
Feel the difference, Сюшник.
- Код на Хаскеллі в основному виходить дуже коротким, швидко компілюється та гарно виглядає.
- Він функціональний, nuff said. Але у деяких випадках, його функціональність - його вада. Особливо у руках любителів матану:
s f g x = f x (g x) k x y = x b f g x = f (g x) c f g x = f x g y f = f (y f) cond p f g x = if p x then f x else g x fac = y (b (cond ((==) 0) (k 1)) (b (s (*)) (c b pred)))
Реалізації
- Основна - ghc [1].
- HUGS
- YHC
Приклади коду
Hello, world!
main = putStrLn "Hello, world!!!"
Калькулятор
calc :: String -> Float
calc = head . foldl f [] . words
where
f :: [Float] -> String -> [Float]
f (x:y:zs) "+" = (y + x):zs
f (x:y:zs) "-" = (y - x):zs
f (x:y:zs) "*" = (y * x):zs
f (x:y:zs) "/" = (y / x):zs
f (x:y:zs) "FLIP" = y:x:zs
f (x:zs) "ABS" = (abs x):zs
f xs y = read y : xs
Факторіал
fac n = product [1..n]
Посилання
| |||||||||||||||||||
- ↑ Glasgow Haskell Compiler.