why a0 do not accept any type
From
meInvent bbird@21:1/5 to
All on Tue Jul 26 18:56:53 2016
do i need to explicit to define the type it use for the tree?
and how to do?
if there are many kind of labeled tree (Num , XXXX)
there will be many repeated code to define a new labeled tree
is there any template type that fit for labeled tree
let aa = [(1,MA), (2,MB), (3,MC), (4,MD), (5,ME), (6,MF), (7,MG), (8,MH)]
let aatree = treeToList aa
*Main> let aatree = treeToList aa
<interactive>:4:25:
Couldn't match expected type `BTree a0'
with actual type `[(Integer, Operation)]'
In the first argument of `treeToList', namely `aa'
In the expression: treeToList aa
In an equation for `aatree': aatree = treeToList aa
*Main> treeToList aa
<interactive>:5:12:
Couldn't match expected type `BTree a0'
with actual type `[(Integer, Operation)]'
In the first argument of `treeToList', namely `aa'
In the expression: treeToList aa
In an equation for `it': it = treeToList aa
data BTree a = EmptyTree
| NNode a (BTree a) (BTree a)
deriving (Show)
treeFromList :: (Ord a) => [a] -> BTree a
treeFromList [] = EmptyTree
treeFromList (x:xs) = NNode x (treeFromList (filter (<x) xs))
(treeFromList (filter (>x) xs))
treeToList :: (Ord a) => BTree a -> [a]
treeToList EmptyTree = []
treeToList (NNode root left right) = treeToList left ++ [root] ++ treeToList right
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)