Abelian sandpile model/Identity: Difference between revisions
m
→{{header|Haskell}}: (inlined one small function)
m (→{{header|Haskell}}: (inlined one small function)) |
|||
Line 617:
[ "Cascade:"
, showCascade $ ([], x) : fmap ("->", ) xs
, "s1 + s2 == s2 + s1 -> " <> show (addSand s1 s2 == addSand s2 s1)
, showCascade [([], s1), (" +", s2), (" =", addSand s1 s2)]
, showCascade [([], s2), (" +", s1), (" =", addSand s2 s1)]
, "s3 + s3_id == s3 -> " <> show (addSand s3 s3_id == s3)
, showCascade [([], s3), (" +", s3_id), (" =", addSand s3 s3_id)]
, "s3_id + s3_id == s3_id -> " <> show (addSand s3_id s3_id == s3_id)
, showCascade [([], s3_id), (" +", s3_id), (" =", addSand s3_id s3_id)]
Line 632 ⟶ 629:
addSand :: [[Int]] -> [[Int]] -> [[Int]]
addSand xs ys =
cascade :: [[Int]] -> [[[Int]]]
|