2017年2月3日金曜日

開発環境

関数プログラミング入門(Richard Bird (著)、山下伸夫 (翻訳)、オーム社)の第1章(基本概念)、1.3(値)、練習問題1.3.1、1.3.2を取り組んでみる。

練習問題1.3.1、1.3.2

コード(Emacs)

-- 1.3.1 1/0 で Infinity を使うために Integer から Double に型を変更
multiply :: (Double, Double) -> Double
multiply (x, y) = if x == 0 then 0 else x * y

入出力結果(Terminal, ghci)

$ ghci sample3_1.hs
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
[1 of 1] Compiling Main             ( sample3_1.hs, interpreted )
Ok, modules loaded: Main.
*Main> let inf = 1 / 0
*Main> inf
Infinity
*Main> multiply (0, inf) == 0
True
*Main> multiply (inf, 0) == inf
False
*Main> multiply (inf, 0)
NaN
*Main> :q
Leaving GHCi.
$

0 コメント:

コメントを投稿