I suppose I found the reason. It's in the ControlPoint class. Attached the patch for Graphics/Rendering/OpenGL/GL/ControlPoint.hs
Description:GLU NURBS are rendered wrongly with newer versions of OpenGL.$ ghc -package OpenGL-2.2.3.0 -package GLUT-2.1.2.1 --make Circle.hs && ./Circle
E.g. when the 9-point rectangular representation for a circle is used, this picture is a result (instead of a proper circle): http://i.stack.imgur.com/waoRm.png
There are other details at the http://stackoverflow.com/questions/7798662/glu-nurbs-rendered-wrongly
Versions:
The bug appears when OpenGL>=2.3 is used. With older versions the NURBS for circle is rendered correctly:
Platforms tested:
ArchLinux 64-bit, Gentoo (don't know architecture).
The Circle.hs file which draws the NURBS circle is attached.