Haskell のリスト
Menu Menu(1) 数字(Num)のリストのみを受け付けるように(1),(2)に型を定義せよ。
リストでは、数字リストが入れ子になったデータ構造は作れない。
let = [1,[2]]はエラーになる。
[1,[2]] を Haskell が正しく認識するようにはできない。
(2) ノードと葉に値を持つ Haskell の data 構造を作って、ノードと葉の値を平坦なリストに直すプログラムを示せ。
++ を使わずに O(n) で計算するプログラムを示せ。 data Nodes a = Node a (Nodes a) (Nodes a) | Leaf a deriving (Show)