chalkboard-1.9.0.16: examples/example/Main.hs
import Graphics.ChalkBoard
main :: IO ()
main = startChalkBoard [] $ \ cb -> loop cb 0 (cycle colors)
loop :: ChalkBoard -> Float -> [O RGB] -> IO ()
loop cb n rgb@(c1:c2:c3:_) | n >= 0.999 = loop cb (n - 1) (tail rgb)
| otherwise = do
drawChalkBoard cb (choose (o (lerp n (unO c3) (unO c2))) c1 <$> rotate (n * pi) (scale (n * 1.1) square))
loop cb (n + 0.01) rgb
colors :: [O RGB]
colors = [red,green,blue,yellow,cyan,purple,black,white]