diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c)2010, Don Stewart
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Don Stewart nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Main.hs b/Main.hs
new file mode 100644
--- /dev/null
+++ b/Main.hs
@@ -0,0 +1,466 @@
+-- Script GenImports.hs
+
+import Data.Array
+import Control.Applicative
+import Control.Arrow
+import Control.Category
+import Control.Concurrent
+import Control.Concurrent.Chan
+import Control.Concurrent.MVar
+import Control.Concurrent.QSem
+import Control.Concurrent.QSemN
+import Control.Concurrent.SampleVar
+import Control.Exception
+import Control.Exception.Base
+import Control.OldException
+import Control.Monad
+import Control.Monad.Fix
+import Control.Monad.Instances
+import Control.Monad.ST
+import Control.Monad.ST.Lazy
+import Control.Monad.ST.Strict
+import Data.Bits
+import Data.Bool
+import Data.Char
+import Data.Complex
+import Data.Dynamic
+import Data.Either
+import Data.Eq
+import Data.Data
+import Data.Fixed
+import Data.Foldable
+import Data.Function
+import Data.Functor
+import Data.HashTable
+import Data.IORef
+import Data.Int
+import Data.Ix
+import Data.List
+import Data.Maybe
+import Data.Monoid
+import Data.Ord
+import Data.Ratio
+import Data.STRef
+import Data.STRef.Lazy
+import Data.STRef.Strict
+import Data.String
+import Data.Traversable
+import Data.Tuple
+import Data.Typeable
+import Data.Unique
+import Data.Version
+import Data.Word
+import Debug.Trace
+import Foreign
+import Foreign.C
+import Foreign.C.Error
+import Foreign.C.String
+import Foreign.C.Types
+import Foreign.ForeignPtr
+import Foreign.Marshal
+import Foreign.Marshal.Alloc
+import Foreign.Marshal.Array
+import Foreign.Marshal.Error
+import Foreign.Marshal.Pool
+import Foreign.Marshal.Utils
+import Foreign.Ptr
+import Foreign.StablePtr
+import Foreign.Storable
+import Numeric
+import Prelude
+import System.Console.GetOpt
+import System.CPUTime
+import System.Environment
+import System.Exit
+import System.IO
+import System.IO.Error
+import System.IO.Unsafe
+import System.Info
+import System.Mem
+import System.Mem.StableName
+import System.Mem.Weak
+import System.Posix.Internals
+import System.Posix.Types
+import Text.ParserCombinators.ReadP
+import Text.ParserCombinators.ReadPrec
+import Text.Printf
+import Text.Read
+import Text.Read.Lex
+import Text.Show
+import Text.Show.Functions
+import Unsafe.Coerce
+import Data.ByteString
+import Data.ByteString.Char8
+import Data.ByteString.Unsafe
+import Data.ByteString.Internal
+import Data.ByteString.Lazy
+import Data.ByteString.Lazy.Char8
+import Data.ByteString.Lazy.Internal
+import Data.ByteString.Fusion
+import Distribution.Compiler
+import Distribution.InstalledPackageInfo
+import Distribution.License
+import Distribution.Make
+import Distribution.ModuleName hiding (main)
+import Distribution.Package
+import Distribution.PackageDescription
+import Distribution.PackageDescription.Configuration
+import Distribution.PackageDescription.Parse
+import Distribution.PackageDescription.Check
+import Distribution.ParseUtils
+import Distribution.ReadE
+import Distribution.Simple
+import Distribution.Simple.Build
+import Distribution.Simple.Build.Macros
+import Distribution.Simple.Build.PathsModule
+import Distribution.Simple.BuildPaths
+import Distribution.Simple.Command
+import Distribution.Simple.Compiler
+import Distribution.Simple.Configure
+import Distribution.Simple.GHC
+import Distribution.Simple.LHC
+import Distribution.Simple.Haddock
+import Distribution.Simple.Hugs
+import Distribution.Simple.Install
+import Distribution.Simple.InstallDirs
+import Distribution.Simple.JHC
+import Distribution.Simple.LocalBuildInfo
+import Distribution.Simple.NHC
+import Distribution.Simple.PackageIndex
+import Distribution.Simple.PreProcess
+import Distribution.Simple.PreProcess.Unlit
+import Distribution.Simple.Program
+import Distribution.Simple.Program.Ar
+import Distribution.Simple.Program.Builtin
+import Distribution.Simple.Program.Db
+import Distribution.Simple.Program.HcPkg
+import Distribution.Simple.Program.Ld
+import Distribution.Simple.Program.Run
+import Distribution.Simple.Program.Script
+import Distribution.Simple.Program.Types
+import Distribution.Simple.Register
+import Distribution.Simple.Setup
+import Distribution.Simple.SrcDist
+import Distribution.Simple.UserHooks
+import Distribution.Simple.Utils
+import Distribution.System
+import Distribution.Text
+import Distribution.Verbosity
+import Distribution.Version
+import Distribution.Compat.ReadP
+import Language.Haskell.Extension
+import Data.Graph
+import Data.IntMap
+import Data.IntSet
+import Data.Map
+import Data.Sequence
+import Data.Set
+import Data.Tree
+import System.Directory
+import Control.Exception.Extensible
+import System.FilePath
+import System.FilePath.Posix
+import System.FilePath.Windows
+import Array
+import CPUTime
+import Char
+import Complex
+import Directory
+import IO
+import Ix
+import List
+import Locale
+import Maybe
+import Monad
+import Random
+import Ratio
+import System
+import Time
+import Bits
+import CError
+import CForeign
+import CString
+import CTypes
+import ForeignPtr
+import Int
+import MarshalAlloc
+import MarshalArray
+import MarshalError
+import MarshalUtils
+import Ptr
+import StablePtr
+import Storable
+import Word
+import Trace.Hpc.Util
+import Trace.Hpc.Mix
+import Trace.Hpc.Tix
+import Trace.Hpc.Reflect
+import System.Locale
+import System.Time
+import Text.PrettyPrint
+import Text.PrettyPrint.HughesPJ
+import System.Cmd
+import System.Random
+import Data.Generics
+import Data.Generics.Aliases
+import Data.Generics.Basics
+import Data.Generics.Instances
+import Data.Generics.Schemes
+import Data.Generics.Text
+import Data.Generics.Twins
+import Language.Haskell.TH.Syntax.Internals
+import Language.Haskell.TH.Syntax
+import Language.Haskell.TH.PprLib
+import Language.Haskell.TH.Ppr
+import Language.Haskell.TH.Lib
+import Language.Haskell.TH.Quote
+import Language.Haskell.TH
+import Data.Time.Calendar
+import Data.Time.Calendar.MonthDay
+import Data.Time.Calendar.OrdinalDate
+import Data.Time.Calendar.WeekDate
+import Data.Time.Calendar.Julian
+import Data.Time.Calendar.Easter
+import Data.Time.Clock
+import Data.Time.Clock.POSIX
+import Data.Time.Clock.TAI
+import Data.Time.LocalTime
+import Data.Time.Format
+import Data.Time
+import System.Posix
+import System.Posix.DynamicLinker.Module
+import System.Posix.DynamicLinker.Prim
+import System.Posix.Directory
+import System.Posix.DynamicLinker
+import System.Posix.Env
+import System.Posix.Error
+import System.Posix.Files
+import System.Posix.IO
+import System.Posix.Process
+import System.Posix.Process.Internals
+import System.Posix.Resource
+import System.Posix.Temp
+import System.Posix.Terminal
+import System.Posix.Time
+import System.Posix.Unistd
+import System.Posix.User
+import System.Posix.Signals
+import System.Posix.Signals.Exts
+import System.Posix.Semaphore
+import System.Posix.SharedMem
+import Network.CGI
+import Network.CGI.Monad
+import Network.CGI.Protocol
+import Network.CGI.Cookie
+import Network.CGI.Compat
+import Data.Graph.Inductive.Internal.FiniteMap
+import Data.Graph.Inductive.Internal.Heap
+import Data.Graph.Inductive.Internal.Queue
+import Data.Graph.Inductive.Internal.RootPath
+import Data.Graph.Inductive.Internal.Thread
+import Data.Graph.Inductive.Basic
+import Data.Graph.Inductive.Example
+import Data.Graph.Inductive.Graph
+import Data.Graph.Inductive.Graphviz
+import Data.Graph.Inductive.Monad
+import Data.Graph.Inductive.NodeMap
+import Data.Graph.Inductive.PatriciaTree
+import Data.Graph.Inductive.Query
+import Data.Graph.Inductive.Tree
+import Data.Graph.Inductive.Monad.IOArray
+import Data.Graph.Inductive.Query.ArtPoint
+import Data.Graph.Inductive.Query.BCC
+import Data.Graph.Inductive.Query.BFS
+import Data.Graph.Inductive.Query.DFS
+import Data.Graph.Inductive.Query.Dominators
+import Data.Graph.Inductive.Query.GVD
+import Data.Graph.Inductive.Query.Indep
+import Data.Graph.Inductive.Query.MST
+import Data.Graph.Inductive.Query.MaxFlow
+import Data.Graph.Inductive.Query.MaxFlow2
+import Data.Graph.Inductive.Query.Monad
+import Data.Graph.Inductive.Query.SP
+import Data.Graph.Inductive.Query.TransClos
+import Data.Graph.Inductive
+import Graphics.UI.GLUT
+import Graphics.UI.GLUT.Begin
+import Graphics.UI.GLUT.Callbacks
+import Graphics.UI.GLUT.Callbacks.Global
+import Graphics.UI.GLUT.Callbacks.Window
+import Graphics.UI.GLUT.Colormap
+import Graphics.UI.GLUT.Debugging
+import Graphics.UI.GLUT.DeviceControl
+import Graphics.UI.GLUT.Fonts
+import Graphics.UI.GLUT.GameMode
+import Graphics.UI.GLUT.Initialization
+import Graphics.UI.GLUT.Menu
+import Graphics.UI.GLUT.Objects
+import Graphics.UI.GLUT.Overlay
+import Graphics.UI.GLUT.State
+import Graphics.UI.GLUT.Window
+import Language.Haskell.Lexer
+import Language.Haskell.Parser
+import Language.Haskell.ParseMonad
+import Language.Haskell.Pretty
+import Language.Haskell.Syntax
+import Language.Haskell.ParseUtils
+import Text.Html
+import Text.Html.BlockTable
+import Test.HUnit.Base
+import Test.HUnit.Lang
+import Test.HUnit.Terminal
+import Test.HUnit.Text
+import Test.HUnit
+import Control.Monad.Cont
+import Control.Monad.Cont.Class
+import Control.Monad.Error
+import Control.Monad.Error.Class
+import Control.Monad.Identity
+import Control.Monad.List
+import Control.Monad.RWS
+import Control.Monad.RWS.Class
+import Control.Monad.RWS.Lazy
+import Control.Monad.RWS.Strict
+import Control.Monad.Reader
+import Control.Monad.Reader.Class
+import Control.Monad.State
+import Control.Monad.State.Class
+import Control.Monad.State.Lazy
+import Control.Monad.State.Strict
+import Control.Monad.Trans
+import Control.Monad.Writer
+import Control.Monad.Writer.Class
+import Control.Monad.Writer.Lazy
+import Control.Monad.Writer.Strict
+import Network
+import Network.BSD
+import Network.Socket.Internal
+import Network.Socket
+import Network.URI
+import Graphics.Rendering.OpenGL.GL.Antialiasing
+import Graphics.Rendering.OpenGL.GL.BasicTypes
+import Graphics.Rendering.OpenGL.GL.BeginEnd
+import Graphics.Rendering.OpenGL.GL.Bitmaps
+import Graphics.Rendering.OpenGL.GL.BufferObjects
+import Graphics.Rendering.OpenGL.GL.Clipping
+import Graphics.Rendering.OpenGL.GL.Colors
+import Graphics.Rendering.OpenGL.GL.ColorSum
+import Graphics.Rendering.OpenGL.GL.CoordTrans
+import Graphics.Rendering.OpenGL.GL.DisplayLists
+import Graphics.Rendering.OpenGL.GL.Evaluators
+import Graphics.Rendering.OpenGL.GL.Feedback
+import Graphics.Rendering.OpenGL.GL.FlushFinish
+import Graphics.Rendering.OpenGL.GL.Fog
+import Graphics.Rendering.OpenGL.GL.Framebuffer
+import Graphics.Rendering.OpenGL.GL.Hints
+import Graphics.Rendering.OpenGL.GL
+import Graphics.Rendering.OpenGL.GL.LineSegments
+import Graphics.Rendering.OpenGL.GL.PerFragment
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTable
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.Convolution
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.Histogram
+import Graphics.Rendering.OpenGL.GL.PixelRectangles
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.Minmax
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelMap
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelStorage
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelTransfer
+import Graphics.Rendering.OpenGL.GL.PixelRectangles.Rasterization
+import Graphics.Rendering.OpenGL.GL.Points
+import Graphics.Rendering.OpenGL.GL.Polygons
+import Graphics.Rendering.OpenGL.GL.RasterPos
+import Graphics.Rendering.OpenGL.GL.ReadCopyPixels
+import Graphics.Rendering.OpenGL.GL.Rectangles
+import Graphics.Rendering.OpenGL.GL.SavingState
+import Graphics.Rendering.OpenGL.GL.Selection
+import Graphics.Rendering.OpenGL.GL.Shaders
+import Graphics.Rendering.OpenGL.GL.StateVar
+import Graphics.Rendering.OpenGL.GL.StringQueries
+import Graphics.Rendering.OpenGL.GL.Texturing.Application
+import Graphics.Rendering.OpenGL.GL.Texturing.Environments
+import Graphics.Rendering.OpenGL.GL.Texturing
+import Graphics.Rendering.OpenGL.GL.Texturing.Objects
+import Graphics.Rendering.OpenGL.GL.Texturing.Parameters
+import Graphics.Rendering.OpenGL.GL.Texturing.Queries
+import Graphics.Rendering.OpenGL.GL.Texturing.Specification
+import Graphics.Rendering.OpenGL.GLU.Errors
+import Graphics.Rendering.OpenGL.GLU
+import Graphics.Rendering.OpenGL.GLU.Initialization
+import Graphics.Rendering.OpenGL.GLU.Matrix
+import Graphics.Rendering.OpenGL.GLU.Mipmapping
+import Graphics.Rendering.OpenGL.GLU.NURBS
+import Graphics.Rendering.OpenGL.GLU.Quadrics
+import Graphics.Rendering.OpenGL.GLU.Tessellation
+import Graphics.Rendering.OpenGL.GL.VertexArrays
+import Graphics.Rendering.OpenGL.GL.VertexSpec
+import Graphics.Rendering.OpenGL
+import Control.Parallel
+import Control.Parallel.Strategies
+import Text.ParserCombinators.Parsec.Error
+import Text.ParserCombinators.Parsec.Char
+import Text.ParserCombinators.Parsec.Combinator
+import Text.ParserCombinators.Parsec.Expr
+import Text.ParserCombinators.Parsec.Perm
+import Text.ParserCombinators.Parsec.Pos
+import Text.ParserCombinators.Parsec.Prim
+import Text.ParserCombinators.Parsec
+import Test.QuickCheck
+import Test.QuickCheck.Arbitrary
+import Test.QuickCheck.Function
+import Test.QuickCheck.Gen
+import Test.QuickCheck.Monadic
+import Test.QuickCheck.Modifiers
+import Test.QuickCheck.Property
+import Test.QuickCheck.Test
+import Test.QuickCheck.Text
+import Test.QuickCheck.Poly
+import Test.QuickCheck.State
+import Text.Regex.Base
+import Text.Regex.Base.RegexLike
+import Text.Regex.Base.Context
+import Text.Regex.Base.Impl
+import Text.Regex
+import Text.Regex.Posix
+import Text.Regex.Posix.Wrap
+import Text.Regex.Posix.String
+import Text.Regex.Posix.Sequence
+import Text.Regex.Posix.ByteString
+import Text.Regex.Posix.ByteString.Lazy
+import Control.Concurrent.STM
+import Control.Concurrent.STM.TArray
+import Control.Concurrent.STM.TVar
+import Control.Concurrent.STM.TChan
+import Control.Concurrent.STM.TMVar
+import Control.Monad.STM
+import Text.XHtml
+import Text.XHtml.Frameset
+import Text.XHtml.Strict
+import Text.XHtml.Transitional
+import Text.XHtml.Debug
+import Text.XHtml.Table
+import Codec.Compression.GZip
+import Codec.Compression.Zlib
+import Codec.Compression.Zlib.Raw
+import Codec.Compression.Zlib.Internal
+import Network.BufferType
+import Network.Stream
+import Network.StreamDebugger
+import Network.StreamSocket
+import Network.TCP
+import Network.HTTP
+import Network.HTTP.Headers
+import Network.HTTP.Base
+import Network.HTTP.Stream
+import Network.HTTP.Auth
+import Network.HTTP.Cookie
+import Network.HTTP.Proxy
+import Network.HTTP.HandleStream
+import Network.Browser
+import Control.DeepSeq
+
+main = do
+    print "Succesfully linked all packages"
+    print System.Info.arch
+    print System.Info.compilerVersion
+    print System.Info.compilerName
+    print System.Info.os
+
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/haskell-platform-test.cabal b/haskell-platform-test.cabal
new file mode 100644
--- /dev/null
+++ b/haskell-platform-test.cabal
@@ -0,0 +1,107 @@
+-- haskell-platform-test.cabal auto-generated by cabal init. For
+-- additional options, see
+-- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.
+-- The name of the package.
+Name:                haskell-platform-test
+
+-- The package version. See the Haskell package versioning policy
+-- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
+-- standards guiding when and how versions should be incremented.
+Version:             2010.2.0.0
+
+-- A short (one-line) description of the package.
+Synopsis:            A test system for the Haskell Platform environment
+
+-- A longer description of the package.
+Description:         A test system for the Haskell Platform environment
+    .
+    Run:
+    .
+    > cabal install haskell-platform-test
+    .
+    After installing the Haskell Platform version corresponding to this
+    release.
+
+-- URL for the project homepage or repository.
+Homepage:            http://code.haskell.org/~dons/code/haskell-platform-test
+
+-- The license under which the package is released.
+License:             BSD3
+
+-- The file containing the license text.
+License-file:        LICENSE
+
+-- The package author(s).
+Author:              Don Stewart
+
+-- An email address to which users can send suggestions, bug reports,
+-- and patches.
+Maintainer:          dons@galois.com
+
+-- A copyright notice.
+Copyright:           (c) 2010, Don Stewart.
+
+Category:            Distribution
+
+Build-type:          Simple
+
+-- Constraint on the version of Cabal needed to build this package.
+Cabal-version:       >=1.2
+
+Executable haskell-platform-test
+
+  -- .hs or .lhs file containing the Main module.
+  Main-is:           Main.hs
+  
+  -- Packages needed in order to build this package.
+  Build-depends:       
+    ghc ==6.12.3,
+    array                    ==0.3.0.1 ,
+    base                     ==4.2.0.2,
+    bytestring               ==0.9.1.7,
+    Cabal                    ==1.8.0.6,
+    containers               ==0.3.0.0,
+    directory                ==1.0.1.1,
+    extensible-exceptions    ==0.1.1.1,
+    filepath                 ==1.1.0.4,
+    ghc-prim                 ==0.2.0.0,
+    haskell98                ==1.0.1.1,
+    hpc                      ==0.5.0.5,
+    old-locale               ==1.0.0.2,
+    old-time                 ==1.0.0.5,
+    pretty                   ==1.0.1.1,
+    process                  ==1.0.1.3,
+    random                   ==1.0.0.2,
+    syb                      ==0.1.0.2,
+    template-haskell         ==2.4.0.1,
+    time                     ==1.1.4,
+    unix                     ==2.4.0.2,
+
+    cgi                         ==3001.1.7.3,
+    fgl                         ==5.4.2.3,
+    GLUT                        ==2.1.2.1,
+    haskell-src                 ==1.0.1.3,
+    html                        ==1.0.1.2,
+    HUnit                       ==1.2.2.1,
+    mtl                         ==1.1.0.2,
+    network                     ==2.2.1.7,
+    OpenGL                      ==2.2.3.0,
+    parallel                    ==2.2.0.1,
+    parsec                      ==2.1.0.1,
+    QuickCheck                  ==2.1.1.1,
+    regex-base                  ==0.93.2,
+    regex-compat                ==0.93.1,
+    regex-posix                 ==0.94.2,
+    stm                         ==2.1.2.1,
+    xhtml                       ==3000.2.0.1,
+    zlib                        ==0.5.2.0,
+    HTTP                        ==4000.0.9,
+    deepseq                     ==1.1.0.0
+  
+  -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
+  Build-tools:         
+--    cabal-install ==0.8.2,
+    alex          ==2.3.3,
+    happy         ==1.18.5
+--    haddock       ==2.7.2
+
