I'm experiencing strange behavior when executing some Haskell OpenGL code inside unsafeInterleaveIO.

For example,

        vp <- get GL.viewport

returns garbage, as if the opengl context is not correctly set.

Is this to be expected? Or is it likely a bug on my side?

Thanks,
Peter