开启 Haskell 开发之旅
1. 为何选择 Haskell
1.1 简洁优雅的代码
当看到下面这段快速排序算法的 Haskell 代码时,很多人会被其简洁性和优雅性所吸引:
quicksort :: (Ord a) => [a] -> [a]
quicksort [] = []
quicksort (x:xs) =
let smallerSorted = quicksort [a | a <- xs, a <= x]
biggerSorted = quicksort [a | a <- xs, a > x]
in smallerSorted ++ [x] ++ biggerSorted
虽然这不是最高效的实现方式,但它用极短的代码完整地表达了快速排序的核心思想。
1.2 静态类型与类型推断
Haskell 是静态类型语言,在编译时进行类型检查,能避免一些低级错误,比如向期望整数的函数传入字符串。而且,Haskell 具有类型推断功能,允许我们几乎完全省略类型注解,编译器仍能检查代码的正确性。例如:
hello name = "Hello, " ++ name ++ "!"
编译器能根据对 name 执行的字符串操作推断出它是字符串类型。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



