計算機科学のブログ

関数型プログラミングの基礎 関数と関数型プログラミング 関数型プログラミングの実用的価値 変数 where句

入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT1(関数型プログラミングの基礎)、LESSON 2(関数と関数型プログラミング)、2.3(関数型プログラミングの実用的価値)、変数、クイックチェック2-3の解答を求めてみる。

コード

doublePlusTwo :: Num a => a -> a
doublePlusTwo x = doubleX + 2
    where doubleX = 2 * x

入出力結果(Terminal, Zsh)

% ghci
GHCi, version 8.10.4: https://www.haskell.org/ghc/  :? for help
macro 'doc' overwrites builtin command.  Use ':def!' to overwrite.
(0.00 secs, 0 bytes)
(0.00 secs, 0 bytes)
Loaded GHCi configuration from /.../.ghc/ghci.conf
Prelude
λ> :load sample3
[1 of 1] Compiling Main             ( sample3.hs, interpreted )
Ok, one module loaded.
(0.00 secs,)
*Main
λ> doublePlusTwo 0
2
it :: Num a => a
(0.01 secs, 62,280 bytes)
*Main
λ> doublePlusTwo 1
4
it :: Num a => a
(0.00 secs, 59,968 bytes)
*Main
λ> doublePlusTwo 5
12
it :: Num a => a
(0.00 secs, 60,720 bytes)
*Main
λ> :q
Leaving GHCi.
%