- 既作成のモジュールを読み込んでみよう
- この章で作るいろいろは、TUOLP.hsとして保存するとして、その「空バージョン」を以下のように作るとしよう
module TUOLP
where
import TAMO
import GS
myEven :: Integer -> Bool
myEven x | rem x 2 == 0 = True
| otherwise = False
evens = [x | x <- [0..], myEven x]
-
- こうすると、TAMO.hsの中で import GS をしているので
Prelude> :l TUOLP.hs
[1 of 3] Compiling GS (GS.hs, interpreted)
[2 of 3] Compiling TAMO (TAMO.hs, interpreted)
[3 of 3] Compiling TUOLP (TUOLP.hs, interpreted)
OK, modules loaded: TUOLP, TAMO, GS.
-
- というようにカスケードになった3ファイルが読み込まれることがわかる。以下のようにしてGS.hsに書いたldという関数を呼び出せる
TUOLP> GS.ld 3
3
- forallという予約語を使うようだが
- よくわからないのだが、Existentialsとかに関するもので、タイプを書くときにしかつかえないっぽく、この本が書いているようには進まないのではないかと思う参考