# fixed-timestep Pure Haskell library to run an action repeatedly, a specific amount of times per second. Internal timekeeping is done in [flicks](https://github.com/OculusVR/Flicks#README), a unit of time equal to precisely 1/705600000 of a second. Basic usage: ```haskell λ> import Data.Time.Clock λ> import Time.Repeatedly λ> repeatedly 1 (print =<< getCurrentTime) 2019-03-13 21:14:36.826248 UTC 2019-03-13 21:14:37.8282926 UTC 2019-03-13 21:14:38.8327692 UTC 2019-03-13 21:14:39.8359494 UTC 2019-03-13 21:14:40.8374415 UTC ^CInterrupted. ``` Using `async`, you can repeat multiple actions independently, and also cancel them: ```haskell λ> import Data.Time.Clock λ> import Control.Concurrent.Asyncx λ> import Time.Repeatedly λ> printer <- asyncRepeatedly 1 (print =<< getCurrentTime) 2019-03-13 21:21:27.5228834 UTC 2019-03-13 21:21:28.523892 UTC 2019-03-13 21:21:29.5283634 UTC 2019-03-13 21:21:30.5313565 UTC 2019-03-13 21:21:31.535904 UTC 2019-03-13 21:21:32.5373828 UTC 2019-03-13 21:21:33.5393834 UTC 2019-03-13 21:21:34.5408811 UTC cancel printer ```