init = { time = 0 } type Msg = Tick Float GetKeyState update msg model = case msg of Tick t _ -> { model | time = t } fun t x = let angle = 0.1 * t * x * 2 * pi / (toFloat numCircles) in circle 5 |> filled (hsl (x * 2 * pi / (toFloat numCircles)) 1 0.5) |> addOutline (solid 1) black |> move (50 * sin angle,50 * cos angle) numCircles : Int numCircles = 20 myShapes model = List.range 0 numCircles |> List.map toFloat |> List.map (fun model.time)