File: double_flip.curry

package info (click to toggle)
curry-tools 1.0.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,492 kB
  • ctags: 121
  • sloc: makefile: 470; sh: 421
file content (19 lines) | stat: -rw-r--r-- 446 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import Profile

data TreeInt = Leaf Int | Tree Int TreeInt TreeInt

-- generate a treee of depth n:
gentree n | n == 0    = Leaf 0
          | otherwise = Tree n (gentree (n-1)) (gentree (n-1))

fliptree (Leaf     a) = Leaf a
fliptree (Tree x l r) = Tree x (fliptree r) (fliptree l)

goal t = PEVAL (fliptree (fliptree t))

main = goal t == t where t = gentree 5

benchmark = do
  let t free
  doSolve (t =:= gentree 17)
  profileTimeNF (goal t)