error
	# Compile this shader and report any errors in the attribute `error`
	fun compile
	do
		# Create
		var gl_shader = glCreateShader(gl_shader_type)
		if not glIsShader(gl_shader) then
			self.error = new Error("Shader creation failed: {glGetError}")
			return
		end
		self.gl_shader = gl_shader
		glShaderSource(gl_shader, source.to_cstring)
		# Compile
		glCompileShader gl_shader
		if not gl_shader.is_compiled then
			self.error = new Error("Shader compilation failed: {glGetShaderInfoLog(gl_shader)}")
			return
		end
		error = gammit_gl_error
	end
					lib/gamnit/programs.nit:269,2--290,4