
FP
老猿讲编程
编程学习,技术分享。航空,车载,通信,云计算,大数据,移动,编程杂谈, c\c++, Python, Rust, Golang, Erlang,Ruby, PHP, JS, Java, Haskell, Ocaml... ....
展开
-
Haskell语言的简史
曾几何时,普林斯顿大学有一位名叫阿隆佐教堂的数学家。Church是Alan Turing的博士生导师。Church设计了一种称为lambda演算的函数的数学模型。是的,这就是现代lambdas的来源!从20世纪30年代的教会快速发展到20世纪50年代的编程语言的早期发展。最早的高级编程语言之一是LISP(代表List Processing)。LISP采用了功能性风格。它允许定义用户函...翻译 2018-10-29 23:11:34 · 2209 阅读 · 1 评论 -
Haskell练习题目(基础篇4题)
Haskell学习重要的方法之一,就是多加练习,习惯函数式编程思维。前面的基础学扎实了,这样就可以在后面的学习中,能够比较容易理解更复杂的概念。Haskell的基础知识还是比较容易理解的,这里收集了一些习题,为大家练习参考。习题1.实现以下功能,而不查看库中的代码:-- 返回 list 的第一个元素.head :: [a] -> a-- 将list的第一个元素丢...原创 2018-10-08 10:33:12 · 1579 阅读 · 0 评论 -
Haskell解决八皇后问题的3种解法代码
八皇后问题是经典的问题,有很多的算法,用Haskell来解决,很有意思,值得仔细研究。这些算法都来自于互联网。 解法1:safe :: Int -> [Int] -> Int -> Boolsafe _ [] _ = Truesafe x (x1:xs) n = x /= x1 && x /= x1 + n && x /=...翻译 2018-10-08 23:10:28 · 987 阅读 · 0 评论 -
Haskell包管理工具,cabal, stack, nix
Haskell项目中,经常用到包管理工具,有些用cabal,stack, nix。这里对这三个工具做个简要的说明。首先要明确的是cabal库,是一个haskell包集合的库,提供了不同的包以及不同的版本。cabal-install和stack均是前端基于cabal库使用的工具。cabal-install是最早用的工具,用于haskell包的管理。提供了规范文件,来构建包,同时也提供了工具来...原创 2018-10-17 13:33:57 · 6226 阅读 · 1 评论