packages feed

code-conjure-0.5.4: eg/list.out

length :: [Int] -> Int
-- testing 360 combinations of argument values
-- pruning with 4/8 rules
-- looking through 2 candidates of size 1
-- looking through 2 candidates of size 2
-- looking through 2 candidates of size 3
-- looking through 4 candidates of size 4
-- looking through 5 candidates of size 5
-- tested 13 candidates
length []  =  0
length (x:xs)  =  length xs + 1

reverse :: [Int] -> [Int]
-- testing 360 combinations of argument values
-- pruning with 4/4 rules
-- looking through 2 candidates of size 1
-- looking through 1 candidates of size 2
-- looking through 2 candidates of size 3
-- looking through 3 candidates of size 4
-- looking through 4 candidates of size 5
-- looking through 7 candidates of size 6
-- looking through 10 candidates of size 7
-- tested 27 candidates
reverse []  =  []
reverse (x:xs)  =  reverse xs ++ [x]

(++) :: [Int] -> [Int] -> [Int]
-- testing 360 combinations of argument values
-- pruning with 0/0 rules
-- looking through 3 candidates of size 1
-- looking through 7 candidates of size 2
-- looking through 9 candidates of size 3
-- looking through 44 candidates of size 4
-- looking through 116 candidates of size 5
-- looking through 80 candidates of size 6
-- tested 233 candidates
[] ++ xs  =  xs
(x:xs) ++ ys  =  x:(xs ++ ys)

(++) :: [Int] -> [Int] -> [Int]
-- testing 360 combinations of argument values
-- pruning with 2/2 rules
-- looking through 3 candidates of size 1
-- looking through 7 candidates of size 2
-- looking through 9 candidates of size 3
-- looking through 48 candidates of size 4
-- tested 54 candidates
xs ++ ys  =  foldr (:) ys xs

(\/) :: [Int] -> [Int] -> [Int]
-- testing 360 combinations of argument values
-- pruning with 0/0 rules
-- looking through 3 candidates of size 1
-- looking through 7 candidates of size 2
-- looking through 9 candidates of size 3
-- looking through 44 candidates of size 4
-- looking through 116 candidates of size 5
-- looking through 80 candidates of size 6
-- tested 235 candidates
[] \/ xs  =  xs
(x:xs) \/ ys  =  x:ys \/ xs

ordered :: [Int] -> Bool
-- testing 360 combinations of argument values
-- pruning with 29/39 rules
-- looking through 2 candidates of size 1
-- looking through 2 candidates of size 2
-- looking through 3 candidates of size 3
-- looking through 3 candidates of size 4
-- looking through 4 candidates of size 5
-- looking through 16 candidates of size 6
-- looking through 28 candidates of size 7
-- looking through 48 candidates of size 8
-- looking through 100 candidates of size 9
-- looking through 226 candidates of size 10
-- looking through 482 candidates of size 11
-- tested 616 candidates
ordered []  =  True
ordered (x:xs)  =  (null xs || x <= head xs) && ordered xs

merge :: [Int] -> [Int] -> [Int]
-- testing 360 combinations of argument values
-- pruning with 1/2 rules
-- looking through 2 candidates of size 1
-- looking through 1 candidates of size 2
-- looking through 2 candidates of size 3
-- looking through 12 candidates of size 4
-- looking through 16 candidates of size 5
-- looking through 20 candidates of size 6
-- looking through 84 candidates of size 7
-- looking through 40 candidates of size 8
-- looking through 368 candidates of size 9
-- looking through 216 candidates of size 10
-- looking through 1838 candidates of size 11
-- looking through 1016 candidates of size 12
-- tested 3615 candidates
cannot conjure