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)

Shinji KONO / Tue Apr 21 14:17:26 2015