我已经开始使用数据类型,但我对以下内容感到困惑:
data Natural = Zero | Succ Natural
add :: Natural -> Natural -> Natural
add m Zero = m
add m (Succ n) = Succ (add m n)
Run Code Online (Sandbox Code Playgroud)
这是如何加入工作的.我理解这Natural 3是代表的,Succ(Succ(Succ 0)))虽然这对我来说仍然不是100%明确的,即价值本身或者是什么减少.我想逐步了解添加.
PS:这是摘自Richard Bird的"功能编程简介"一书.