Thanks for the advice everyone.
I'm using Haskell rather than C/C++ because I'm not particularly interested in writing an entire application in C/C++. If I learn OpenGL using C, then I'm still going to have to learn to use the bindings in whatever language I ultimately decide to use. Haskell seems well suited to this given all of its nice foreign interface packages. Additionally, knowing how to interface with C libraries seems like a useful skill to have.
I've already gone through the first few chapters of the red book using the higher level OpenGL. The concern that lead me to try OpenGLRaw instead is that drawing every vertex/color/etc with a separate function call seems incredibly inefficient. I imagine I'm going to have to learn to use buffers at some point. In fact, there is a section about them in the second chapter of the red book, which I skipped because I couldn't figure out how to do it with the high level OpenGL package. Also, it seems like the high level package only truly supports the 2.1 spec, whereas the Raw package supports the 3.2 spec.
If everyone legitimately thinks that the higher level library is the way to go for writing actual OpenGL programs then I'll give it another shot. It looks like the Haskell translations of the red book examples might get me unblocked in that respect. I just felt like I would be better served by learning how to use the lower level bindings, which are closer to actual OpenGL.