2017年2月13日月曜日

開発環境

関数プログラミング入門(Richard Bird (著)、山下伸夫 (翻訳)、オーム社)の第2章(単純なデータ型)、2.5(その他の型)、練習問題2.5.1、2.5.2を取り組んでみる。

練習問題2.5.1、2.5.2

コード(Emacs)

-- 2.5.1
f :: (Either Bool Char) -> Integer
f (Left _) = 0
f (Right _) = 1

-- 2.5.2
-- case (f, g) . plus (h, k) (Either a b)
-- = case (f, g) (Either (h a) (k b))
-- = Either (f . h a) (g . k b)  
-- = Either (f . h a) (g . k b)
-- = case (f . h, g . k) (Either a b)

入出力結果(Terminal, ghci)

$ ghci sample5.hs
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( sample5.hs, interpreted )
Ok, modules loaded: Main.
*Main> f (Left undefined)
0
*Main> f (Right undefined)
1
*Main> :q
Leaving GHCi.
$

0 コメント:

コメントを投稿