The luminance package

[Tags:bsd3, library]

This package exposes several modules to work with GPUs in a stateless and type-safe way. Currently, it uses OpenGL as backend hardware technology but others will be added later on, such as Vulkan.

One very important point is the fact that luminance has nothing to do with 3D engines or scene development kits. Don’t expect to find materials, lights or mesh loaders. It’s just a graphics framework initiated to fix the design choices of OpenGL. It won’t change in any other way. However, as it grows, the plan is to make luminance a good graphics framework following the Haskell philosophy. In the end, it should be used as-is, not as an OpenGL abstraction.

luminance is a small yet powerful graphics API. It was designed so that people can quickly get their feet wet and start having fun with graphics in Haskell. The main idea is to unleash the graphical and visual properties of GPUs in a stateless and type-safe way.

This library doesn’t expose any architectural patterns or designs. It’s up to you to design your program as you want and following your own plans.


Versions 0.1, 0.1.1,, 0.2, 0.3,, 0.3.1,,, 0.4, 0.4.1, 0.5, 0.5.1, 0.5.2,, 0.6,,,,, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.8.2,, 0.9, 0.9.1,,, 0.10,,, 0.11,,,,
Change log
Dependencies base (>=4.8 && <4.10), containers (==0.5.*), contravariant (>=1.3 && <1.5), dlist (>=0.7 && <0.9), gl (==0.7.*), linear (>=1.19 && <1.21), mtl (==2.2.*), resourcet (==1.1.*), semigroups (>=0.16 && <0.19), transformers (>=0.4 && <0.6), vector (==0.11.*), void (==0.7.*) [details]
License BSD3
Copyright Dimitri Sabadie
Author Dimitri Sabadie <>
Maintainer Dimitri Sabadie <>
Category Graphics
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Thu Sep 22 08:28:42 UTC 2016 by DimitriSabadie
Distributions NixOS:
Downloads 2129 total (54 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2016-09-22 [all 1 reports]
Hackage Matrix CI




debug-glEnable OpenGL stdout debug (for development only)DisabledManual
gl45Compile with the OpenGL 4.5 backendDisabledManual
gl45-bindless-texturesCompile with the OpenGL 4.5 + bindless textures backendDisabledManual
gl33Compile with the OpenGL 3.3 backendEnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees