2014年3月8日土曜日

開発環境

Real World Haskell―実戦で学ぶ関数型言語プログラミング(Bryan O'Sullivan (著)、 John Goerzen (著)、 Don Stewart (著)、山下 伸夫 (翻訳)、伊東 勝利 (翻訳)、株式会社タイムインターメディア (翻訳)、オライリージャパン)の13章(データ構造)、13.5(数値型)、練習問題 1.を解いてみる。

その他参考書籍

練習問題 1.

コード(BBEdit, Emacs)

ParsePGM.hs

module Nums where

main :: IO ()
main = print $ ((5 * 10 + 2) :: SymbolicManip Int)

--修正箇所
simpleParen                       :: (Show a, Num a) =>
                                     SymbolicManip a -> String
simpleParen (Number x)            = prettyShow (Number x)
simpleParen (Symbol x)            = prettyShow (Symbol x)
simpleParen x@(BinaryArith Plus _ _) = "(" ++ prettyShow x ++ ")"
simpleParen x@(BinaryArith Minus _ _) = "(" ++ prettyShow x ++ ")"
simpleParen x@(BinaryArith _ _ _) = prettyShow x
simpleParen x@(UnaryArith _ _)    = prettyShow x
--

入出力結果(Terminal, runghc)

$ runghc Nums.hs
5*10+2
$

0 コメント:

コメントを投稿