この記事はHaskell Advent Calendar 2017に投稿したものです. 関数プログラミングでは,ツリー構造はさまざまなデータの集まりを表現するのに便利なデータ構造です. 単純でよいなら,Haskell(GHC)ではcontainersパッケージにある,Data.Treeモジュールを使ってTree型で表現するのが楽です. import Data.Tree data Lab = A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z deriving (Eq,Ord,Enum,Bounded,Show,Read) sample :: Tree Lab sample = Node A [Node B [Node C [Node D [
