私はハスケルの初心者です。 Ratは、integeresや整数の分数の型です。私は、なぜこれをラットのコンストラクタに輸出するのか聞いてみたいのですが? GHCiの中隠蔽コンストラクタ
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
:
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> 7:/5
7 :/ 5
モジュールがまだ完了していないと私はラットのコンストラクタを非表示にしたいと思います。
あなたのしていることは、['Data.Ratio'](http://hackage.haskell.org/packages/archive/base/latest/doc/html/Data-Ratio)にあります。 html)モジュールはすでにあります。 –