カテゴリー
Haskell コンピューター (Computer) プログラミング (Programming)

Haskellに惑わされ – 14

久しぶりの Haskell挑戦です さっぱり前に進みません 今回ようやく動作した snippetはこんな感じです

divs :: Fractional a => a -> a -> a
divs n m = n / m

これでようやく Haskell GHCiにおいて

Prelude> :l test.hs
[1 of 1] Compiling Main             ( test.hs, interpreted )
Ok, one module loaded.

として compileされます。そして、この GHCiの中で

*Main>divs 99 4

と打つことにより

24.75

と出力されます。要するに divsという新しい割り算関数を作成したことになるのです。何というか厳しくてなかなかここに至りません。難しい 難しい

何が難しくてなかなか理解できないのか? と云えば、たとえばこの test.hsという名前のファイルに書かれている通りを GHCiに打ち込むと

Prelude>divs :: Fractional a => a -> a -> a

、何と以下のようなメッセージで弾かれるのです・・・

:1:1: error:
    • Variable not in scope: divs :: a1 -> a1 -> a1
    • Perhaps you meant ‘div’ (imported from Prelude)

この GHCiで :load test.hsした時との落差に目がくらむのです。何故? 何故? なぜなんだー 全くわからないのです。どなたか教えて下さい。僕にとって Haskellを学ぶ上で一番の障害がこの GHCiでのコンバイラと、インタープリーターとの間の落差なのです。

作成者: (KAMAKURA & SAPPORO)Dr_Radialist

Expert Interventional Cardiologist and Amateur Computer Programmer.

Winner for Master Clinical Operator Award in TCT 2019.
Winner for Ethica Award in EuroPCR 2015.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です