小编Dar*_*jni的帖子

隐藏构造函数

我是Haskell的初学者.假设Rat是integeres或整数的分数类型.我想问一下,为什么要输出Rat的构造函数呢?

module RatNum(Rat,add1Rat,makeRat) where
    infixl 5 :/
    data Rat = Int :/ Int | Only Int deriving(Show)
    add1Rat :: Rat -> Rat
    add1Rat (a :/ b) = (a+b) :/ b
    add1Rat (Only a) = Only (a+1)
    makeRat :: Rat
    makeRat = 1 :/ 1
    makeORat :: Rat
    makeORat = Only 1
Run Code Online (Sandbox Code Playgroud)

在GHCI中:

Prelude> :l RatNum
[1 of 1] Compiling RatNum           ( RatNum.hs, interpreted )
Ok, modules loaded: RatNum.
*RatNum> Only 5
Only 5
*RatNum> add1Rat (1:/3)
4 :/ 3
*RatNum> …
Run Code Online (Sandbox Code Playgroud)

haskell module

6
推荐指数
1
解决办法
396
查看次数

标签 统计

haskell ×1

module ×1