Need help with GPipe-Core?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

144 Stars 24 Forks 186 Commits 19 Opened issues


Core library of new GPipe, encapsulating OpenGl and providing a type safe minimal library

Services available


Need anything else?

Contributors list

GPipe 2

This is the main repository for GPipe 2, a library which encapsulates OpenGL and provides a minimal type safe interface. Check out the release announcement, GPipe is dead, long live GPipe! or read on for the tutorials.

Examples and tutorials

There is a series of five tutorials for learning the features of GPipe 2 hosted at (see below for a table of contents). You'll start with a simple triangle example, and advance through all of the encapsulated features of OpenGL that GPipe exposes.

Example code

Clone GPipe-Test and build it with Haskell Stack

$ stack build
. This is the example from Part 1, below.

GPU programming in Haskell using GPipe

  • Part 1
    • Hello triangle!
    • The context
    • Rendering - This is what it's all about
    • Shader - A primer
    • Rasterization
    • Drawing and swapping
  • Part 2
    • Buffers
    • Vertex arrays
    • Primitive arrays
    • Index arrays
    • Instanced primitive arrays
  • Part 3
    • Welcome to the Shader!
    • Primitive streams
    • Error handling in Gpipe
    • Enough of that, back to the shader
    • Linear algebra in GPipe
    • Uniforms
    • Working with lifted S-values
    • Combining Shader monads
  • Part 4
    • FragmentStreams
    • Textures
    • Samplers
    • Colors
    • Sampling
  • Part 5
    • Window formats
    • Window drawing actions
    • Drawing colors
    • Depth test
    • Stencil test
    • Custom filtering of fragments
    • Drawing to texture images
    • Demo time!


Please submit bugs, questions, or suggestions for improvements to our documentation to our github repository, .

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.