diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+### 0.9.1
+
+- Made `Program` an instance of `Eq` and `Show`.
+
 ## 0.9
 
 - Dropped `gl32` for `gl33`.
diff --git a/luminance.cabal b/luminance.cabal
--- a/luminance.cabal
+++ b/luminance.cabal
@@ -1,5 +1,5 @@
 name:                luminance
-version:             0.9
+version:             0.9.1
 synopsis:            Type-safe, type-level and stateless graphics framework
 description:         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
diff --git a/src/Graphics/Luminance/Core/Shader/Program.hs b/src/Graphics/Luminance/Core/Shader/Program.hs
--- a/src/Graphics/Luminance/Core/Shader/Program.hs
+++ b/src/Graphics/Luminance/Core/Shader/Program.hs
@@ -62,7 +62,7 @@
 -- Shader program --------------------------------------------------------------
 
 -- |Shader program.
-newtype Program = Program { programID :: GLuint }
+newtype Program = Program { programID :: GLuint } deriving (Eq,Show)
 
 -- |Create a new shader 'Program'.
 --
