Haskell 高级概念总结

Functor, Applicative, Monad

Haskell: Applicative

Applicative 处于 Functor 和 Monad 之间.其定义如下: 123456class Functor f => Applicative f where pure :: a -> f a liftA2 :: (a -...

Practical Haskell: Text/ByteString & Web HTTP

Text 与 ByteString 由于 String 仅仅只是 [Char] 的别名,所以速度很慢.以下两种类型可以用于替代 String Data.Text 表示 a sequence of Unicode Chars Data.ByteSt...

Haskell: Monads & Applicative

The Monad type class is a way to represent different ways of executing recipes

Haskell: Functors

higher order function: transform functions to functions Functors 的作用在于 Preserve structures. 例如 map 可以处理 [a] -> [b] 的问题,而...

Haskell 中的 IO

do block 的返回值必须是 IO <something>. return :: a -> IO a 是一个函数 value <- something 表明 something :: IO X 且 value :: X,并...

How does Haskell work

Haskell 运行的底层原理

Haskell 类型系统

Type Class Type Class 类似其他语言里的 Interface、Rust 里的 Trait,定义了一组函数,任何属于该 Type Class 的类型都必须实现这些函数。 When to use Type Class? ...

Haskell 基础语法

临时变量语法、模式匹配

Git Snippets: 从旧 commit 分叉出新 branch

假设我们希望从 branch A 的某个旧 commit 上分叉出 branch B.首先查看 branch A 的所有 commit,找到想分叉出来的那个 commit 1git log 然后直接从 commit 分叉 branch 1git br...

178910