import Copilot.Visualize.Live main = visualize spec spec :: String spec = unlines [ "let temperature :: Stream Word8" , " temperature = extern \"temperature\" (Just [0, 15, 20, 25, 30])" , "" , " ctemp :: Stream Float" , " ctemp = (unsafeCast temperature) * (150.0 / 255.0) - 50.0" , "" , " trueFalse :: Stream Bool" , " trueFalse = [True] ++ not trueFalse" , "" , "in do trigger \"heaton\" (temperature < 18) [arg ctemp, arg (constI16 1), arg trueFalse]" , " trigger \"heatoff\" (temperature > 21) [arg (constI16 1), arg ctemp]" , " observer \"temperature\" temperature" , " observer \"temperature2\" (temperature + 1)" ]