2013年12月16日月曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅢ部(高度なプログラミング概念)の17章(高度なポインタ)、17.7(ツリー)、17.8(ツリーの出力)、17.9(プログラムの残りの部分)、設問 17-2をHaskellで解いてみる。

その他参考書籍

設問 17-2.

コード(BBEdit)

Sample.hs

{-# OPTIONS -Wall -Werror #-}

main :: IO ()
main = print dictionary

data Tree a = Empty | Node a (Tree a) (Tree a) deriving (Show)

-- ツリーの図ではなく、コードのインデントで表現
dictionary :: Tree String
dictionary = Node "able"
                  Empty
                  (Node "baker"
                        Empty
                        (Node "cook"
                              Empty
                              (Node "delta"
                                    Empty
                                    (Node "easy"
                                          Empty
                                          Empty))))

入出力結果(Terminal, runghc)

$ runghc Sample.hs
Node "able" Empty (Node "baker" Empty (Node "cook" Empty (Node "delta" Empty (Node "easy" Empty Empty))))
$

慣れるまでは{-# OPTIONS -Wall -Werror #-}の記述を消さずに細かく型を指定していくことに。

0 コメント:

コメントを投稿