annotate test.hs @ 7:644e1345ee83

add debugging function
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Mon, 13 Jan 2014 11:43:41 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 {-# LANGUAGE OverloadedStrings #-}
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import Jungle
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import Data.Maybe
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import qualified Data.ByteString.Lazy.Char8 as B
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 jungle = createJungle
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 tree = do
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 a <- createTree jungle "test"
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 let
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 t = fromJust $ getTreeByName a "test"
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 node <- getRootNode t
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 return (add node)
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 addc path pos node = addNewChildAt node path pos
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 addchild =
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 (addc [3] 2) . (addc [] 3) . (addc [1,1] 2) . (addc [1,1] 1). (addc [2] 2) . (addc [1] 2) .
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 (addc [2] 1) . (addc [] 2). (addc [1] 1) . (addc [] 1)
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 adda path key value node = putAttribute node path key value
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 addattr =
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 (adda [1,1] "key" "value") . (adda [1,1] "test" "test2") .
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 (adda [] "root" "node") . (adda [1] "tes" "abc") .
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 (adda [3,2] "test" "3-2") . (adda [2,2] "test" "2-2")
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 add = addattr . addchild
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 {-
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 ghci> :l test.hs
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 ghci> y <- tree
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 ghci> putStrLn $ printAttributes y
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 ghci> putStrLn $ drawNode y
644e1345ee83 add debugging function
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 -}