As of GHC version 6.8, we have adopted the following policy for numbering GHC versions:
Stable branches are numbered , where
	  x.yy is even.
	  Releases on the stable branch  are numbered x.y, where
	  x.y.zz (>= 1) is the patchlevel number.
	  Patchlevels are bug-fix releases only, and never
	  change the programmer interface to any system-supplied code.
	  However, if you install a new patchlevel over an old one you
	  will need to recompile any code that was compiled against the
	  old libraries.
The value of __GLASGOW_HASKELL__
	  (see Section 4.11.3, “Options affecting the C pre-processor”) for a major release
	  
	  is the integer x.y.zxyy (if
	  y is a single digit, then a leading zero
	  is added, so for example in version 6.8.2 of GHC we would have
	  __GLASGOW_HASKELL__==608).
We may make snapshot releases of the current stable branch available for download, and the latest sources are available from the darcs repositories.
Stable snapshot releases are named
	  .
	  where x.y.z.YYYYMMDD is the date of the sources
	  from which the snapshot was built, and YYYYMMDD is the next release to be made on that branch.
	  For example, x.y.z+16.8.1.20040225 would be a
	  snapshot of the 6.8 branch during the development
      of 6.8.2.
The value of __GLASGOW_HASKELL__
	  for a snapshot release is the integer
	  xyy.  You should never write any
	  conditional code which tests for this value, however: since
	  interfaces change on a day-to-day basis, and we don't have
	  finer granularity in the values of
	  __GLASGOW_HASKELL__, you should only
	  conditionally compile using predicates which test whether
	  __GLASGOW_HASKELL__ is equal to, later
	  than, or earlier than a given major release.
We may make snapshot releases of the HEAD available for download, and the latest sources are available from the darcs repositories.
Unstable snapshot releases are named
	  .
	  where x.y.YYYYMMDD is the date of the sources
	  from which the snapshot was built.
	  For example, YYYYMMDD6.7.20040225 would be a
	  snapshot of the HEAD before the creation of the
      6.8 branch.
The value of __GLASGOW_HASKELL__
	  for a snapshot release is the integer
	  xyy.  You should never write any
	  conditional code which tests for this value, however: since
	  interfaces change on a day-to-day basis, and we don't have
	  finer granularity in the values of
	  __GLASGOW_HASKELL__, you should only
	  conditionally compile using predicates which test whether
	  __GLASGOW_HASKELL__ is equal to, later
	  than, or earlier than a given major release.
The version number of your copy of GHC can be found by
    invoking ghc with the
    ––version flag (see Section 4.6, “Help and verbosity options”).