Haskell于1990年发布,以逻辑学家哈斯克尔·柯里(Haskell Curry)命名。它是一种纯函数式语言,意味着所有函数都是纯函数,没有副作用。
-- Haskell代码示例
-- 递归定义斐波那契数列
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n - 1) + fib (n - 2)
-- 使用列表推导式
quicksort :: Ord a => [a] -> [a]
quicksort [] = []
quicksort (p:xs) = quicksort [x | x <- xs, x < p]
++ [p]
++ quicksort [x | x <- xs, x >= p]
-- 使用monad处理IO
main :: IO ()
main = do
putStrLn "Enter your name:"
name <- getLine
putStrLn ("Hello, " ++ name ++ "!")
-- 类型类
class Shape a where
area :: a -> Double
data Circle = Circle { radius :: Double }
data Rectangle = Rectangle { width :: Double, height :: Double }
instance Shape Circle where
area (Circle r) = pi * r * r
instance Shape Rectangle where
area (Rectangle w h) = w * h
Haskell的特点: