3 The Use of Logic: Proof 論理として使う、証明 ぱらぱらめくる『The Haskell Road to Logic, Maths and Programming』

  • 既作成のモジュールを読み込んでみよう
  • この章で作るいろいろは、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とかに関するもので、タイプを書くときにしかつかえないっぽく、この本が書いているようには進まないのではないかと思う参考