
On Sat, Oct 18, 2014 at 9:36 PM, Jeffrey Brown
threadDelay is guaranteed http://hackage.haskell.org/package/base-4.7.0.1/docs/Control-Concurrent.html...
to wait at least as long, but potentially longer than, what the caller specifies. Another potential problem could be buffering in printf. (Eventually I intend to replace the printf statement with OSC output to a sound generator.)
This isn't going to be solved completely within Haskell; the behavior of threadDelay is the behavior of the system scheduler for a normal process, possibly modified by garbage collection delays. You'll need to switch the process to a realtime scheduling class to remove --- or at least reduce --- the OS's contribution to the uncertainties in sleep times. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net