*Main> (alltrees1a!!0)Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.
[Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (
*Main> head (alltrees1a!!0)
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0])
head extract wrong
it should be[0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.0,2.0,
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf
then i try my own function to remove outermost bracket
*Main> let { exbra :: [a] -> a; exbra [xs] = xs }
*Main>
*Main> exbra (alltrees1a!!0)
*** Exception: <interactive>:143:26-40: Non-exhaustive patterns in function exbra
got error
i discover again and it may not be a bug,
but error return [[Mree [Double]]]
make me think it as a bug
*Main> sum $ (eeval1 (allexprs1!!0))
<interactive>:47:16:
Couldn't match type `[Mree [Double]]' with `Mree [Double]'
Expected type: [Mree [Double]]
Actual type: [[Mree [Double]]]
In the first argument of `(!!)', namely `allexprs1'
In the first argument of `eeval1', namely `(allexprs1 !! 0)'
In the second argument of `($)', namely `(eeval1 (allexprs1 !! 0))'
eeval1 :: Mree [Double] -> [Double]
eeval1 (Meaf x) = x
eeval1 (Mode l MA r) = oplist op1 (eeval1 l) (eeval1 r)
eeval1 (Mode l MB r) = oplist op2 (eeval1 l) (eeval1 r)
eeval1 (Mode l MC r) = oplist op3 (eeval1 l) (eeval1 r)
eeval1 (Mode l MD r) = oplist op4 (eeval1 l) (eeval1 r)
eeval1 (Mode l ME r) = oplist op5 (eeval1 l) (eeval1 r)
eeval1 (Mode l MF r) = oplist op6 (eeval1 l) (eeval1 r)
eeval1 (Mode l MG r) = oplist op7 (eeval1 l) (eeval1 r)
eeval1 (Mode l MH r) = oplist op8 (eeval1 l) (eeval1 r)
On Thursday, July 28, 2016 at 10:28:34 AM UTC+8, meInvent bbird wrote:Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.
*Main> (alltrees1a!!0)
[Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (
*Main> head (alltrees1a!!0)
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0])
head extract wrong
Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.it should be
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (
then i try my own function to remove outermost bracket
*Main> let { exbra :: [a] -> a; exbra [xs] = xs }
*Main>
*Main> exbra (alltrees1a!!0)
*** Exception: <interactive>:143:26-40: Non-exhaustive patterns in function exbra
got error
*Main> let {exbra :: [a] -> Maybe a; exbra [] = Nothing; exbra [xs] = Just xs}
*Main> exbra (allexprs1!!0)
*** Exception: <interactive>:50:31-70: Non-exhaustive patterns in function exbra
still error
On Thursday, July 28, 2016 at 3:46:06 PM UTC+8, meInvent bbird wrote:
i discover again and it may not be a bug,
but error return [[Mree [Double]]]
make me think it as a bug
*Main> sum $ (eeval1 (allexprs1!!0))
<interactive>:47:16:
Couldn't match type `[Mree [Double]]' with `Mree [Double]'
Expected type: [Mree [Double]]
Actual type: [[Mree [Double]]]
In the first argument of `(!!)', namely `allexprs1'
In the first argument of `eeval1', namely `(allexprs1 !! 0)'
In the second argument of `($)', namely `(eeval1 (allexprs1 !! 0))'
eeval1 :: Mree [Double] -> [Double]
eeval1 (Meaf x) = x
eeval1 (Mode l MA r) = oplist op1 (eeval1 l) (eeval1 r)
eeval1 (Mode l MB r) = oplist op2 (eeval1 l) (eeval1 r)
eeval1 (Mode l MC r) = oplist op3 (eeval1 l) (eeval1 r)
eeval1 (Mode l MD r) = oplist op4 (eeval1 l) (eeval1 r)
eeval1 (Mode l ME r) = oplist op5 (eeval1 l) (eeval1 r)
eeval1 (Mode l MF r) = oplist op6 (eeval1 l) (eeval1 r)
eeval1 (Mode l MG r) = oplist op7 (eeval1 l) (eeval1 r)
eeval1 (Mode l MH r) = oplist op8 (eeval1 l) (eeval1 r)
Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.On Thursday, July 28, 2016 at 10:28:34 AM UTC+8, meInvent bbird wrote:
*Main> (alltrees1a!!0)
[Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (
*Main> head (alltrees1a!!0)
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0])
head extract wrong
Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.it should be
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (
then i try my own function to remove outermost bracket
*Main> let { exbra :: [a] -> a; exbra [xs] = xs }
*Main>
*Main> exbra (alltrees1a!!0)
*** Exception: <interactive>:143:26-40: Non-exhaustive patterns in function exbra
got error
:l trees3a.hs
let input2 mm = replicateM mm [(1,MA), (2,MB), (3,MC), (4,MD), (5,ME), (6,MF), (7,MG), (8,MH)]
let {isSorted :: (Ord a) => [(a, Operation)] -> Bool; isSorted [] = True; isSorted [x] = True; isSorted (x:y:xs) = (fst x) > (fst y) && isSorted (y:xs)}
let {doall mm = do let {input1 = input2 mm};writeFile ("logic3layer"++show(mm)++".txt") (unlines $ map show $ filter isSorted input1)}
let input1 = input2 3
let oplist = filter isSorted input1
let getoperationlist = [map snd (oplist!!i) | i <- [0..((length oplist)-1)]]
let fullytruerownum = 54
let fullytrue = 54.0
let logic3row = replicateM 3 [0.0, 1.0, 2.0]
let logic3col = [[logic3row!!i!!2 | i <- [0..(27-1)]],[logic3row!!i!!1 | i <- [0..(27-1)]],[logic3row!!i!!0 | i <- [0..(27-1)]]]
let allparams1 = replicateM 2 logic3col
let alltrees1 = [getAllTrees c | x <- allparams1, c <- [x]]
let alltrees1 nn = [getAllTreesFromList (getoperationlist!!nn) c | x <- allparams1, c <- [x]]
allexprs1 :: [ Mree [Double] ]
let {exbra :: [a] -> Maybe a; exbra [] = Nothing; exbra [xs] = Just xs}
let allexprs1 = alltrees1 40
exbra (allexprs1!!0)
getAllTrees :: [a] -> [Mree a]
getAllTrees [] = []
getAllTrees [x] = return $ Meaf x
getAllTrees xs = do
(left, right) <- splits xs
guard $ not (null left) && not (null right)
leftT <- getAllTrees left
rightT <- getAllTrees right
op <- [MA, MB, MC, MD, ME, MF, MG, MH]
return $ Mode leftT op rightT
getAllTreesFromList ys [] = []
getAllTreesFromList ys [x] = return $ Meaf x
getAllTreesFromList ys xs = do
(left, right) <- splits xs
guard $ not (null left) && not (null right)
leftT <- getAllTreesFromList ys left
rightT <- getAllTreesFromList ys right
op <- ys
return $ Mode leftT op rightT
On Thursday, July 28, 2016 at 3:48:53 PM UTC+8, meInvent bbird wrote:
*Main> let {exbra :: [a] -> Maybe a; exbra [] = Nothing; exbra [xs] = Just xs}
*Main> exbra (allexprs1!!0)
*** Exception: <interactive>:50:31-70: Non-exhaustive patterns in function exbra
still error
On Thursday, July 28, 2016 at 3:46:06 PM UTC+8, meInvent bbird wrote:
i discover again and it may not be a bug,
but error return [[Mree [Double]]]
make me think it as a bug
*Main> sum $ (eeval1 (allexprs1!!0))
<interactive>:47:16:
Couldn't match type `[Mree [Double]]' with `Mree [Double]'
Expected type: [Mree [Double]]
Actual type: [[Mree [Double]]]
In the first argument of `(!!)', namely `allexprs1'
In the first argument of `eeval1', namely `(allexprs1 !! 0)'
In the second argument of `($)', namely `(eeval1 (allexprs1 !! 0))'
eeval1 :: Mree [Double] -> [Double]
eeval1 (Meaf x) = x
eeval1 (Mode l MA r) = oplist op1 (eeval1 l) (eeval1 r)
eeval1 (Mode l MB r) = oplist op2 (eeval1 l) (eeval1 r)
eeval1 (Mode l MC r) = oplist op3 (eeval1 l) (eeval1 r)
eeval1 (Mode l MD r) = oplist op4 (eeval1 l) (eeval1 r)
eeval1 (Mode l ME r) = oplist op5 (eeval1 l) (eeval1 r)
eeval1 (Mode l MF r) = oplist op6 (eeval1 l) (eeval1 r)
eeval1 (Mode l MG r) = oplist op7 (eeval1 l) (eeval1 r)
eeval1 (Mode l MH r) = oplist op8 (eeval1 l) (eeval1 r)
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [On Thursday, July 28, 2016 at 10:28:34 AM UTC+8, meInvent bbird wrote:
*Main> (alltrees1a!!0)
[Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),
*Main> head (alltrees1a!!0)
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0])
head extract wrong
(Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MD (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode (Meaf [0.0,1.it should be
Mode (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]) MH (Meaf [0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0,0.0,1.0,2.0]),Mode
then i try my own function to remove outermost bracket
*Main> let { exbra :: [a] -> a; exbra [xs] = xs }
*Main>
*Main> exbra (alltrees1a!!0)
*** Exception: <interactive>:143:26-40: Non-exhaustive patterns in function exbra
got error
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 13:06:53 |
Calls: | 6,645 |
Calls today: | 5 |
Files: | 12,190 |
Messages: | 5,326,838 |