packages feed

wumpus-basic (empty) → 0.1.1

raw patch · 12 files changed

+2827/−0 lines, 12 filesdep +basedep +monadLibdep +vector-spacesetup-changed

Dependencies added: base, monadLib, vector-space, wumpus-core

Files

+ CHANGES view
@@ -0,0 +1,8 @@++++0.1.0 to 0.1.1:++  * Added missing LICENSE file to the Cabal file.++  * Added this CHANGES file.
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2008 Stephen Peter Tetley++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions+are met:++1. Redistributions of source code must retain the above copyright+   notice, this list of conditions and the following disclaimer.++2. 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.++3. Neither the name of the author nor the names of his contributors+   may be used to endorse or promote products derived from this software+   without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHORS 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.
+ Setup.hs view
@@ -0,0 +1,29 @@+#!/usr/bin/env runhaskell++import Distribution.Simple+import Distribution.Simple.Setup ( SDistFlags )+import Distribution.PackageDescription ( HookedBuildInfo, emptyHookedBuildInfo )+++main = defaultMainWithHooks sdist_warning_hooks++sdist_warning_hooks :: UserHooks+sdist_warning_hooks = simpleUserHooks { preSDist = sdistVersionWarning }+++sdistVersionWarning :: Args -> SDistFlags -> IO HookedBuildInfo+sdistVersionWarning _ _ = +    mapM_ putStrLn msg >> printVersionNumberFile >> return emptyHookedBuildInfo+  where+    msg = [ "-------------------------------------------------------"+          , "-------------------------------------------------------"+          , ""+          , "WARNING - is Wumpus.Basic.VersionNumber correct?"+          , ""+          , "-------------------------------------------------------"+          , "-------------------------------------------------------"+          ]++printVersionNumberFile :: IO ()+printVersionNumberFile = +  readFile "src/Wumpus/Basic/VersionNumber.hs" >>= putStrLn
+ demo/FontPic.hs view
@@ -0,0 +1,171 @@+{-# OPTIONS -Wall #-}++module FontPic where++import Wumpus.Core+import Wumpus.Extra.PictureLanguage+import Wumpus.Basic.SafeFonts+import Wumpus.Basic.SVGColours ( steelBlue )+import Wumpus.Basic.X11Colours ( indianRed1 )++import Data.AffineSpace+import Data.VectorSpace++import Data.List ( unfoldr )++import System.Directory++main :: IO ()+main = do +    createDirectoryIfMissing True "./out/"+    writeEPS_latin1 "./out/font_courier.eps"   courier_pic+    writeSVG_latin1 "./out/font_courier.svg"   courier_pic+    writeEPS_latin1 "./out/font_times.eps"     times_pic+    writeSVG_latin1 "./out/font_times.svg"     times_pic+    writeEPS_latin1 "./out/font_helvetica.eps" helvetica_pic+    writeSVG_latin1 "./out/font_helvetica.svg" helvetica_pic+    writeEPS_latin1 "./out/font_symbol.eps"    symbol_pic+    writeSVG_latin1 "./out/font_symbol.svg"    symbol_pic+++makeFontLabel :: DRGB -> FontAttr -> (DPoint2 -> DPrimitive)+makeFontLabel c fa = textlabel (c,fa) msg+  where+    msg = unwords [ font_name fa, (show $ font_size fa) ++ "pt"]++blueLabel :: FontAttr -> (DPoint2 -> DPrimitive)+blueLabel = makeFontLabel steelBlue++redLabel :: FontAttr -> (DPoint2 -> DPrimitive)+redLabel = makeFontLabel indianRed1+++--------------------------------------------------------------------------------+-- Times++times_pic :: Picture Double+times_pic = timesroman_pic -//- timesitalic_pic -//- timesbold_pic+                           -//- timesbolditalic_pic++++timesroman_pic :: Picture Double+timesroman_pic = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ timesRoman10, timesRoman12, timesRoman18+         , timesRoman24, timesRoman36, timesRoman48 ]++timesitalic_pic :: Picture Double+timesitalic_pic = +    frameMulti $ zipWith redLabel xs (mkPoints 1.5)+  where+    xs = [ timesItalic10, timesItalic12, timesItalic18+         , timesItalic24, timesItalic36, timesItalic48 ]+++timesbold_pic :: Picture Double+timesbold_pic = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ timesBold10, timesBold12, timesBold18+         , timesBold24, timesBold36, timesBold48 ]++timesbolditalic_pic :: Picture Double+timesbolditalic_pic = +    frameMulti $ zipWith redLabel xs (mkPoints 1.5)+  where+    xs = [ timesBoldItalic10, timesBoldItalic12, timesBoldItalic18+         , timesBoldItalic24, timesBoldItalic36, timesBoldItalic48 ]++--------------------------------------------------------------------------------+helvetica_pic :: Picture Double+helvetica_pic = helvetica_pic1 -//- helveticaoblique_pic -//- helveticabold_pic+                           -//- helveticaboldoblique_pic++helvetica_pic1 :: Picture Double+helvetica_pic1 = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ helvetica10, helvetica12, helvetica18+         , helvetica24, helvetica36, helvetica48 ]+++    +helveticaoblique_pic :: Picture Double+helveticaoblique_pic = +    frameMulti $ zipWith redLabel xs (mkPoints 1.5)+  where+    xs = [ helveticaOblique10, helveticaOblique12, helveticaOblique18+         , helveticaOblique24, helveticaOblique36, helveticaOblique48 ]++    +helveticabold_pic :: Picture Double+helveticabold_pic = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ helveticaBold10, helveticaBold12, helveticaBold18+         , helveticaBold24, helveticaBold36, helveticaBold48 ]++    +helveticaboldoblique_pic :: Picture Double+helveticaboldoblique_pic = +    frameMulti $ zipWith redLabel xs (mkPoints 1.5)+  where+    xs = [ helveticaBoldOblique10, helveticaBoldOblique12+         , helveticaBoldOblique18, helveticaBoldOblique24+         , helveticaBoldOblique36, helveticaBoldOblique48 ]++--------------------------------------------------------------------------------++courier_pic :: Picture Double+courier_pic = courier_pic1 -//- courieroblique_pic -//- courierbold_pic+                           -//- courierboldoblique_pic+    +courier_pic1 :: Picture Double+courier_pic1 = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ courier10, courier12, courier18+         , courier24, courier36, courier48 ]++    +courieroblique_pic :: Picture Double+courieroblique_pic = +    frameMulti $ zipWith redLabel xs (mkPoints 1.5)+  where+    xs = [ courierOblique10, courierOblique12, courierOblique18+         , courierOblique24, courierOblique36, courierOblique48 ]++    +courierbold_pic :: Picture Double+courierbold_pic = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ courierBold10, courierBold12, courierBold18+         , courierBold24, courierBold36, courierBold48 ]++    +courierboldoblique_pic :: Picture Double+courierboldoblique_pic = +    frameMulti $ zipWith redLabel xs (mkPoints 1.5)+  where+    xs = [ courierBoldOblique10, courierBoldOblique12, courierBoldOblique18+         , courierBoldOblique24, courierBoldOblique36, courierBoldOblique48 ]++--------------------------------------------------------------------------------++    +symbol_pic :: Picture Double+symbol_pic = +    frameMulti $ zipWith blueLabel xs (mkPoints 1.5)+  where+    xs = [ symbol10, symbol12, symbol18, symbol24, symbol36, symbol48 ]+++--------------------------------------------------------------------------------+++mkPoints :: Num u => u -> [Point2 u]+mkPoints n = unfoldr phi zeroPt where+  phi pt = Just (pt, pt .+^ (V2 0 15 ^* n))
+ src/Wumpus/Basic/Monads/TraceMonad.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE MultiParamTypeClasses      #-}+{-# LANGUAGE FunctionalDependencies     #-}+{-# LANGUAGE FlexibleInstances          #-}+{-# LANGUAGE TypeSynonymInstances       #-}+{-# OPTIONS -Wall #-}+++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.Monads.TraceMonad+-- Copyright   :  (c) Stephen Tetley 2010+-- License     :  BSD3+--+-- Maintainer  :  stephen.tetley@gmail.com+-- Stability   :  unstable+-- Portability :  GHC +--+-- \"Trace\" monad and monad transformer.+--+-- Trace is operationally similar to the Writer monad but it+-- supports elementary consing as well as the Writer\'s monoidal +-- concatenation. +--+-- Note, some care is needed to order the output to a trace with+-- respect to the Z-order of a drawing. The API here may well+-- be too limited... +-- +--------------------------------------------------------------------------------++module Wumpus.Basic.Monads.TraceMonad+  (++    Trace+  , TraceT+  , TraceM(..)++  , runTrace+  , runTraceT+ +  ) where++import MonadLib ( MonadT(..) )          -- package: monadLib++import Wumpus.Basic.Utils.HList++import Control.Applicative++++newtype Trace  i   a = Trace  { getTrace  :: H i -> (a, H i) }++newtype TraceT i m a = TraceT { getTraceT :: H i -> m (a, H i) }++-- Functor++instance Functor (Trace i) where+  fmap f m = Trace $ \w -> let (a,w') = getTrace m w in (f a, w')++instance Monad m => Functor (TraceT i m) where+  fmap f m = TraceT $ \w -> getTraceT m w >>= \(a,w') ->+                            return (f a, w')++-- Applicative++instance Applicative (Trace i) where+  pure a    = Trace $ \w -> (a,w)+  mf <*> ma = Trace $ \w -> let (f,w')  = getTrace mf w +                                (a,w'') = getTrace ma w'+                            in (f a,w'')+++instance Monad m => Applicative (TraceT i m) where+  pure a    = TraceT $ \w -> return (a,w)+  mf <*> ma = TraceT $ \w -> getTraceT mf w  >>= \(f,w')  ->+                             getTraceT ma w' >>= \(a,w'') ->+                             return (f a,w'') ++-- Monad++instance Monad (Trace i) where+  return a = Trace $ \w -> (a,w)+  m >>= k  = Trace $ \w -> let (a,w') = getTrace m w+                           in (getTrace . k) a w'+     +++instance Monad m => Monad (TraceT i m) where+  return a = TraceT $ \w -> return (a,w)+  m >>= k  = TraceT $ \w -> getTraceT m w        >>= \(a,w')  ->+                            (getTraceT . k) a w' >>= \(b,w'') ->+                            return (b,w'')+++++instance MonadT (TraceT i) where +  lift m = TraceT $ \w -> m >>= \ a -> return (a,w)++class TraceM  m i | m -> i where+  trace  :: H i -> m ()+  trace1 :: i -> m ()+++instance TraceM (Trace i) i where+  trace  h = Trace $ \w -> ((), h . w)  +  trace1 i = Trace $ \w -> ((), i `consH` w)  ++instance Monad m => TraceM (TraceT i m) i where+  trace  h = TraceT $ \w -> return ((), h . w)  +  trace1 i = TraceT $ \w -> return ((), i `consH` w)  ++++runTrace :: Trace i a -> (a,H i)+runTrace mf = getTrace mf id ++runTraceT :: Monad m => TraceT i m a -> m (a,H i)+runTraceT mf = getTraceT mf id >>= \(a,w) -> return (a,w)++++ +
+ src/Wumpus/Basic/Monads/TurtleMonad.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE MultiParamTypeClasses      #-}+{-# LANGUAGE TypeSynonymInstances       #-}+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.Monads.TurtleMonad+-- Copyright   :  (c) Stephen Tetley 2010+-- License     :  BSD3+--+-- Maintainer  :  stephen.tetley@gmail.com+-- Stability   :  unstable+-- Portability :  GHC +--+-- Turtle monad and monad transformer.+--+-- The Turtle monad embodies the LOGO style of imperative +-- drawing - sending commands to update the a cursor.+--+-- While Wumpus generally aims for a more compositional,+-- \"coordinate-free\" style of drawing, some types of +-- diagram are very easily expressed in the LOGO style.+--+--------------------------------------------------------------------------------++module Wumpus.Basic.Monads.TurtleMonad+  (+    Coord(..)++  , Turtle+  , TurtleT++  , TurtleM(..)++  , runTurtle+  , runTurtleT++  , setsLoc+  , setsLoc_++  -- * movement+  , reset+  , moveLeft+  , moveRight+  , moveUp+  , moveDown+  , nextLine++  , wander+ +  ) where+++import MonadLib ( MonadT(..) )          -- package: monadLib++import Control.Applicative+++data Coord = Coord !Int !Int++instance Show Coord where+  showsPrec i (Coord x y) = showsPrec i (x,y)+++newtype Turtle    a = Turtle  { getTurtle  :: Coord -> (a, Coord) } ++newtype TurtleT m a = TurtleT { getTurtleT :: Coord -> m (a, Coord) }+++-- Functor++instance Functor Turtle where+  fmap f m = Turtle $ \st -> let (a,st') = getTurtle m st in (f a, st')                   ++instance Monad m => Functor (TurtleT m) where+  fmap f m = TurtleT $ \st -> getTurtleT m st >>= \(a,st') ->+                              return (f a, st')++-- Applicative +instance Applicative Turtle where+  pure a    = Turtle $ \st -> (a,st)+  mf <*> ma = Turtle $ \st -> let (f,st')  = getTurtle mf st +                                  (a,st'') = getTurtle ma st'+                              in (f a,st'') +++instance Monad m => Applicative (TurtleT m) where+  pure a    = TurtleT $ \st -> return (a,st)+  mf <*> ma = TurtleT $ \st -> getTurtleT mf st  >>= \(f,st')  ->+                               getTurtleT ma st' >>= \(a,st'') ->+                               return (f a,st'') +++-- Monad ++instance Monad Turtle where+  return a = Turtle $ \st -> (a,st)+  m >>= k  = Turtle $ \st -> let (a,st') = getTurtle m st+                             in (getTurtle . k) a st'++instance Monad m => Monad (TurtleT m) where+  return a = TurtleT $ \st -> return (a,st)+  m >>= k  = TurtleT $ \st -> getTurtleT m st        >>= \(a,st')  ->+                              (getTurtleT . k) a st' >>= \(b,st'') ->+                              return (b,st'')++instance MonadT TurtleT where+  lift m = TurtleT $ \st -> m >>= \a -> return (a,st)++class Monad m => TurtleM m where+  getLoc :: m Coord+  setLoc :: Coord -> m ()++instance TurtleM Turtle where+  getLoc   = Turtle $ \st -> (st,st)+  setLoc c = Turtle $ \_  -> ((),c)+  ++instance Monad m => TurtleM (TurtleT m) where+  getLoc   = TurtleT $ \st -> return (st,st)+  setLoc c = TurtleT $ \_  -> return ((),c)+++runTurtle :: Turtle a -> (a,(Int,Int))+runTurtle mf = post $ getTurtle mf (Coord 0 0) +  where+    post (a, Coord x y) = (a,(x,y))++runTurtleT :: Monad m => TurtleT m a -> m (a,(Int,Int))+runTurtleT mf = getTurtleT mf (Coord 0 0) >>= \(a, Coord x y) -> return (a,(x,y))+++setsLoc :: TurtleM m => (Coord -> (a,Coord)) -> m a+setsLoc f = getLoc >>= \st -> let (a,st') = f st in setLoc st' >> return a++setsLoc_ :: TurtleM m => (Coord -> Coord) -> m ()+setsLoc_ f = getLoc >>= \st -> let st' = f st in setLoc st'++reset       :: TurtleM m => m ()+reset       = setLoc (Coord 0 0)++moveRight   :: TurtleM m => m ()+moveRight   = setsLoc_ $ \(Coord x y) -> Coord (x+1) y++moveLeft    :: TurtleM m => m ()+moveLeft    = setsLoc_ $ \(Coord x y) -> Coord (x-1) y++moveUp      :: TurtleM m => m ()+moveUp      = setsLoc_ $ \(Coord x y) -> Coord x (y-1)++moveDown    :: TurtleM m => m ()+moveDown    = setsLoc_ $ \(Coord x y) -> Coord x (y+1)++nextLine    :: TurtleM m => m ()+nextLine    = setsLoc_ $ \(Coord _ y) -> Coord 0 (y-1)+++-- | No longer sure about this combinator...+--+wander :: TurtleM m => m a -> m (a,Coord,Coord)+wander ma = getLoc >>= \start ->+            ma     >>= \ans   ->+            getLoc >>= \end   ->+            return (ans,start,end)+
+ src/Wumpus/Basic/SVGColours.hs view
@@ -0,0 +1,626 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.SVGColours+-- Copyright   :  (c) Stephen Tetley 2009-2010+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC with TypeFamilies and more+--+-- The SVG \'named colours\', as rgb [0,1] values +--+--------------------------------------------------------------------------------++module Wumpus.Basic.SVGColours +  (+    +  -- * Named colours+    aliceBlue+  , antiqueWhite+  , aqua+  , aquamarine+  , azure+  , beige+  , bisque+  , black+  , blanchedAlmond+  , blue+  , blueViolet+  , brown+  , burlywood+  , cadetBlue+  , chartreuse+  , chocolate+  , coral+  , cornflowerBlue+  , cornsilk+  , crimson+  , cyan+  , darkBlue+  , darkCyan+  , darkGoldenrod+  , darkGray+  , darkGreen+  , darkGrey+  , darkKhaki+  , darkMagenta+  , darkOliveGreen+  , darkOrange+  , darkOrchid+  , darkRed+  , darkSalmon+  , darkSeaGreen+  , darkSlateBlue+  , darkSlateGray+  , darkSlateGrey+  , darkTurquoise+  , darkViolet+  , deepPink+  , deepSkyBlue+  , dimGray+  , dimGrey+  , dodgerBlue+  , firebrick+  , floralWhite+  , forestGreen+  , fuchsia+  , gainsboro+  , ghostWhite+  , gold+  , goldenrod+  , gray+  , grey+  , green+  , greenYellow+  , honeydew+  , hotPink+  , indianRed+  , indigo+  , ivory+  , khaki+  , lavender+  , lavenderBlush+  , lawnGreen+  , lemonChiffon+  , lightBlue+  , lightCoral+  , lightCyan+  , lightGoldenrodYellow+  , lightGray+  , lightGreen+  , lightGrey+  , lightPink+  , lightSalmon+  , lightSeaGreen+  , lightSkyBlue+  , lightSlateGray+  , lightSlateGrey+  , lightSteelBlue+  , lightYellow+  , lime+  , limeGreen+  , linen+  , magenta+  , maroon+  , mediumAquamarine+  , mediumBlue+  , mediumOrchid+  , mediumPurple+  , mediumSeaGreen+  , mediumSlateBlue+  , mediumSpringGreen+  , mediumTurquoise+  , mediumVioletRed+  , midnightBlue+  , mintcream+  , mistyrose+  , moccasin+  , navajoWhite+  , navy+  , oldlace+  , olive+  , oliveDrab+  , orange+  , orangeRed+  , orchid+  , paleGoldenrod+  , paleGreen+  , paleTurquoise+  , paleVioletRed+  , papayawhip+  , peachpuff+  , peru+  , pink+  , plum+  , powderBlue+  , purple+  , red+  , rosyBrown+  , royalBlue+  , saddleBrown+  , salmon+  , sandyBrown+  , seaGreen+  , seashell+  , sienna+  , silver+  , skyBlue+  , slateBlue+  , slateGray+  , slateGrey+  , snow+  , springGreen+  , steelBlue+  , tan+  , teal+  , thistle+  , tomato+  , turquoise+  , violet+  , wheat+  , white+  , whitesmoke+  , yellow+  , yellowGreen+  +  ) where+++import Wumpus.Core.Colour ( RGB3(..), DRGB )+++import Prelude ( )+  ++++--------------------------------------------------------------------------------+  +aliceBlue           :: DRGB+aliceBlue           = RGB3 0.941  0.973  1.0++antiqueWhite        :: DRGB+antiqueWhite        = RGB3 0.980  0.922  0.843++aqua                :: DRGB+aqua                = RGB3 0.0  1.0  1.0++aquamarine          :: DRGB+aquamarine          = RGB3 0.498  1.0  0.831++azure               :: DRGB+azure               = RGB3 0.941  1.0  1.0++beige               :: DRGB  +beige               = RGB3 0.961  0.961  0.863++bisque              :: DRGB+bisque              = RGB3 1.0  0.894  0.769++black               :: DRGB+black               = RGB3 0.0  0.0  0.0++blanchedAlmond      :: DRGB+blanchedAlmond      = RGB3 1.0  0.922  0.804++blue                :: DRGB+blue                = RGB3 0.0  0.0  1.0++blueViolet          :: DRGB+blueViolet          = RGB3 0.541  0.169  0.886++brown               :: DRGB+brown               = RGB3 0.647  0.165  0.165++burlywood           :: DRGB+burlywood           = RGB3 0.871  0.722  0.529++cadetBlue           :: DRGB+cadetBlue           = RGB3 0.373  0.620  0.627++chartreuse          :: DRGB+chartreuse          = RGB3 0.498  1.0  0.0++chocolate           :: DRGB+chocolate           = RGB3 0.824  0.412  0.118++coral               :: DRGB+coral               = RGB3 1.0  0.498  0.314++cornflowerBlue      :: DRGB+cornflowerBlue      = RGB3 0.392  0.584  0.929++cornsilk            :: DRGB+cornsilk            = RGB3 1.0  0.973  0.863++crimson             :: DRGB+crimson             = RGB3 0.863  0.078  0.235++cyan                :: DRGB+cyan                = RGB3 0.0  1.0  1.0++darkBlue            :: DRGB+darkBlue            = RGB3 0.0  0.0  0.545++darkCyan            :: DRGB+darkCyan            = RGB3 0.0  0.545  0.545++darkGoldenrod       :: DRGB+darkGoldenrod       = RGB3 0.722  0.545  0.043++darkGray            :: DRGB+darkGray            = RGB3 0.663  0.663  0.663++darkGreen           :: DRGB+darkGreen           = RGB3 0.0  0.392  0.0++darkGrey            :: DRGB+darkGrey            = RGB3 0.663  0.663  0.663++darkKhaki           :: DRGB+darkKhaki           = RGB3 0.741  0.718  0.420++darkMagenta         :: DRGB+darkMagenta         = RGB3 0.545  0.0  0.545++darkOliveGreen      :: DRGB+darkOliveGreen      = RGB3 0.333  0.420  0.184++darkOrange          :: DRGB+darkOrange          = RGB3 1.0  0.549  0.0++darkOrchid          :: DRGB+darkOrchid          = RGB3 0.600  0.196  0.800++darkRed             :: DRGB+darkRed             = RGB3 0.545  0.0  0.0++darkSalmon          :: DRGB+darkSalmon          = RGB3 0.914  0.588  0.478++darkSeaGreen        :: DRGB+darkSeaGreen        = RGB3 0.561  0.737  0.561++darkSlateBlue       :: DRGB+darkSlateBlue       = RGB3 0.282  0.239  0.545++darkSlateGray       :: DRGB+darkSlateGray       = RGB3 0.184  0.310  0.310++darkSlateGrey       :: DRGB+darkSlateGrey       = RGB3 0.184  0.310  0.310++darkTurquoise       :: DRGB+darkTurquoise       = RGB3 0.0  0.808  0.820++darkViolet          :: DRGB+darkViolet          = RGB3 0.580  0.0  0.827++deepPink            :: DRGB+deepPink            = RGB3 1.0  0.078  0.576++deepSkyBlue         :: DRGB+deepSkyBlue         = RGB3 0.0  0.750  1.0++dimGray             :: DRGB+dimGray             = RGB3 0.412  0.412  0.412++dimGrey             :: DRGB+dimGrey             = RGB3 0.412  0.412  0.412++dodgerBlue          :: DRGB+dodgerBlue          = RGB3 0.118  0.565  1.0++firebrick           :: DRGB+firebrick           = RGB3 0.698  0.133  0.133++floralWhite         :: DRGB+floralWhite         = RGB3 1.0  0.980  0.941++forestGreen         :: DRGB+forestGreen         = RGB3 0.133  0.545  0.133++fuchsia             :: DRGB+fuchsia             = RGB3 1.0  0.0  1.0++gainsboro           :: DRGB+gainsboro           = RGB3 0.863  0.863  0.863++ghostWhite          :: DRGB+ghostWhite          = RGB3 0.973  0.973  1.0++gold                :: DRGB+gold                = RGB3 1.0  0.843  0.0++goldenrod           :: DRGB+goldenrod           = RGB3 0.855  0.647  0.125++gray                :: DRGB+gray                = RGB3 0.5  0.5  0.5++grey                :: DRGB+grey                = RGB3 0.5  0.5  0.5++green               :: DRGB+green               = RGB3 0.0  0.5  0.0++greenYellow         :: DRGB+greenYellow         = RGB3 0.678  1.0  0.184++honeydew            :: DRGB+honeydew            = RGB3 0.941  1.0  0.941++hotPink             :: DRGB+hotPink             = RGB3 1.0  0.412  0.706++indianRed           :: DRGB+indianRed           = RGB3 0.804  0.361  0.361++indigo              :: DRGB+indigo              = RGB3 0.294  0.0  0.510++ivory               :: DRGB+ivory               = RGB3 1.0  1.0  0.941++khaki               :: DRGB+khaki               = RGB3 0.941  0.902  0.549++lavender            :: DRGB+lavender            = RGB3 0.902  0.902  0.980++lavenderBlush       :: DRGB+lavenderBlush       = RGB3 1.0  0.941  0.961++lawnGreen           :: DRGB+lawnGreen           = RGB3 0.486  0.988  0.0++lemonChiffon        :: DRGB+lemonChiffon        = RGB3 1.0  0.980  0.804++lightBlue           :: DRGB+lightBlue           = RGB3 0.678  0.847  0.902++lightCoral          :: DRGB+lightCoral          = RGB3 0.941  0.5  0.5++lightCyan           :: DRGB+lightCyan           = RGB3 0.878  1.0  1.0++lightGoldenrodYellow  :: DRGB+lightGoldenrodYellow  = RGB3 0.980  0.980  0.824++lightGray           :: DRGB+lightGray           = RGB3 0.827  0.827  0.827++lightGreen          :: DRGB+lightGreen          = RGB3 0.565  0.933  0.565++lightGrey           :: DRGB+lightGrey           = RGB3 0.827  0.827  0.827++lightPink           :: DRGB+lightPink           = RGB3 1.0  0.714  0.757++lightSalmon         :: DRGB+lightSalmon         = RGB3 1.0  0.627  0.478++lightSeaGreen       :: DRGB+lightSeaGreen       = RGB3 0.125  0.698  0.666++lightSkyBlue        :: DRGB+lightSkyBlue        = RGB3 0.529  0.808  0.980++lightSlateGray      :: DRGB+lightSlateGray      = RGB3 0.466  0.533  0.600++lightSlateGrey      :: DRGB+lightSlateGrey      = RGB3 0.466  0.533  0.600++lightSteelBlue      :: DRGB+lightSteelBlue      = RGB3 0.690  0.769  0.871++lightYellow         :: DRGB+lightYellow         = RGB3 1.0  1.0  0.878++lime                :: DRGB+lime                = RGB3 0.0  1.0  0.0++limeGreen           :: DRGB+limeGreen           = RGB3 0.196  0.804  0.196++linen               :: DRGB+linen               = RGB3 0.980  0.941  0.902++magenta             :: DRGB+magenta             = RGB3 1.0  0.0  1.0++maroon              :: DRGB+maroon              = RGB3 0.5  0.0  0.0++mediumAquamarine    :: DRGB+mediumAquamarine    = RGB3 0.4  0.804  0.666++mediumBlue          :: DRGB+mediumBlue          = RGB3 0.0  0.0  0.804++mediumOrchid        :: DRGB+mediumOrchid        = RGB3 0.729  0.333  0.827++mediumPurple        :: DRGB+mediumPurple        = RGB3 0.576  0.439  0.859++mediumSeaGreen      :: DRGB+mediumSeaGreen      = RGB3 0.235  0.702  0.443++mediumSlateBlue     :: DRGB+mediumSlateBlue     = RGB3 0.482  0.408  0.933++mediumSpringGreen   :: DRGB+mediumSpringGreen   = RGB3 0.0  0.980  0.604++mediumTurquoise     :: DRGB+mediumTurquoise     = RGB3 0.282  0.820  0.800++mediumVioletRed     :: DRGB+mediumVioletRed     = RGB3 0.780  0.082  0.522++midnightBlue        :: DRGB+midnightBlue        = RGB3 0.098  0.098  0.439++mintcream           :: DRGB+mintcream           = RGB3 0.961  1.0  0.980++mistyrose           :: DRGB+mistyrose           = RGB3 1.0  0.894  0.882++moccasin            :: DRGB+moccasin            = RGB3 1.0  0.894  0.710++navajoWhite         :: DRGB+navajoWhite         = RGB3 1.0  0.871  0.678++navy                :: DRGB+navy                = RGB3 0.0  0.0  0.5++oldlace             :: DRGB+oldlace             = RGB3 0.992  0.961  0.902++olive               :: DRGB+olive               = RGB3 0.5  0.5  0.0++oliveDrab           :: DRGB+oliveDrab           = RGB3 0.420  0.557  0.137++orange              :: DRGB+orange              = RGB3 1.0  0.647  0.0++orangeRed           :: DRGB+orangeRed           = RGB3 1.0  0.271  0.0++orchid              :: DRGB+orchid              = RGB3 0.855  0.439  0.839++paleGoldenrod       :: DRGB+paleGoldenrod       = RGB3 0.933  0.910  0.666++paleGreen           :: DRGB+paleGreen           = RGB3 0.596  0.984  0.596++paleTurquoise       :: DRGB+paleTurquoise       = RGB3 0.686  0.933  0.933++paleVioletRed       :: DRGB+paleVioletRed       = RGB3 0.859  0.439  0.576++papayawhip          :: DRGB+papayawhip          = RGB3 1.0  0.937  0.835++peachpuff           :: DRGB+peachpuff           = RGB3 1.0  0.855  0.725++peru                :: DRGB+peru                = RGB3 0.804  0.522  0.247++pink                :: DRGB+pink                = RGB3 1.0  0.753  0.796++plum                :: DRGB+plum                = RGB3 0.867  0.627  0.867++powderBlue          :: DRGB+powderBlue          = RGB3 0.690  0.878  0.902++purple              :: DRGB+purple              = RGB3 0.5  0.0  0.5++red                 :: DRGB+red                 = RGB3 1.0  0.0  0.0++rosyBrown           :: DRGB+rosyBrown           = RGB3 0.737  0.561  0.561++royalBlue           :: DRGB+royalBlue           = RGB3 0.255  0.412  0.882++saddleBrown         :: DRGB+saddleBrown         = RGB3 0.545  0.271  0.075++salmon              :: DRGB+salmon              = RGB3 0.980  0.5  0.447++sandyBrown          :: DRGB+sandyBrown          = RGB3 0.957  0.643  0.376++seaGreen            :: DRGB+seaGreen            = RGB3 0.180  0.545  0.341++seashell            :: DRGB+seashell            = RGB3 1.0  0.961  0.933++sienna              :: DRGB+sienna              = RGB3 0.627  0.322  0.176++silver              :: DRGB+silver              = RGB3 0.753  0.753  0.753++skyBlue             :: DRGB+skyBlue             = RGB3 0.529  0.808  0.922++slateBlue           :: DRGB+slateBlue           = RGB3 0.416  0.353  0.804++slateGray           :: DRGB+slateGray           = RGB3 0.439  0.5  0.565++slateGrey           :: DRGB+slateGrey           = RGB3 0.439  0.5  0.565++snow                :: DRGB+snow                = RGB3 1.0  0.980  0.980++springGreen         :: DRGB+springGreen         = RGB3 0.0  1.0  0.498++steelBlue           :: DRGB+steelBlue           = RGB3 0.275  0.510  0.706++tan                 :: DRGB+tan                 = RGB3 0.824  0.706  0.549++teal                :: DRGB+teal                = RGB3 0.0  0.5  0.5++thistle             :: DRGB+thistle             = RGB3 0.847  0.750  0.847++tomato              :: DRGB+tomato              = RGB3 1.0  0.388  0.278++turquoise           :: DRGB+turquoise           = RGB3 0.251  0.878  0.816++violet              :: DRGB+violet              = RGB3 0.933  0.510  0.933++wheat               :: DRGB+wheat               = RGB3 0.961  0.871  0.702++white               :: DRGB+white               = RGB3 1.0  1.0  1.0++whitesmoke          :: DRGB+whitesmoke          = RGB3 0.961  0.961  0.961++yellow              :: DRGB+yellow              = RGB3 1.0  1.0  0.0++yellowGreen         :: DRGB+yellowGreen         = RGB3 0.604  0.804  0.196+++++
+ src/Wumpus/Basic/SafeFonts.hs view
@@ -0,0 +1,459 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.SafeFonts+-- Copyright   :  (c) Stephen Tetley 2009-2010+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC with TypeFamilies and more+--+-- Safe to use font / size combinations.+--+-- Using fonts at other sizes than the ones enumerated in this +-- module may case unusual rendering errors, consider drawing +-- at a standard size then uniform-scaling for other sizes in +-- PostScript.+--+--------------------------------------------------------------------------------++module Wumpus.Basic.SafeFonts+  ( +  -- * Times Roman+    timesRoman10+  , timesRoman12+  , timesRoman18+  , timesRoman24+  , timesRoman36+  , timesRoman48++  , timesItalic10+  , timesItalic12+  , timesItalic18+  , timesItalic24+  , timesItalic36+  , timesItalic48++  , timesBold10+  , timesBold12+  , timesBold18+  , timesBold24+  , timesBold36+  , timesBold48++  , timesBoldItalic10+  , timesBoldItalic12+  , timesBoldItalic18+  , timesBoldItalic24+  , timesBoldItalic36+  , timesBoldItalic48++  -- * Helvetica+  , helvetica10+  , helvetica12+  , helvetica18+  , helvetica24+  , helvetica36+  , helvetica48++  , helveticaOblique10+  , helveticaOblique12+  , helveticaOblique18+  , helveticaOblique24+  , helveticaOblique36  +  , helveticaOblique48++  , helveticaBold10+  , helveticaBold12+  , helveticaBold18+  , helveticaBold24+  , helveticaBold36+  , helveticaBold48++  , helveticaBoldOblique10+  , helveticaBoldOblique12+  , helveticaBoldOblique18+  , helveticaBoldOblique24+  , helveticaBoldOblique36+  , helveticaBoldOblique48++  -- * Courier+  , courier10+  , courier12+  , courier18+  , courier24+  , courier36+  , courier48++  , courierOblique10+  , courierOblique12+  , courierOblique18+  , courierOblique24+  , courierOblique36+  , courierOblique48++  , courierBold10+  , courierBold12+  , courierBold18+  , courierBold24+  , courierBold36+  , courierBold48++  , courierBoldOblique10+  , courierBoldOblique12+  , courierBoldOblique18+  , courierBoldOblique24+  , courierBoldOblique36+  , courierBoldOblique48++  -- * Symbol+  -- $symboldoc+  , symbol10+  , symbol12+  , symbol18+  , symbol24+  , symbol36+  , symbol48++  ) where++++import Wumpus.Core++{-++ Times-Roman  Times-Italic  Times-Bold  Times-BoldItalic+ Helvetica  Helvetica-Oblique  Helvetica-Bold  Helvetica-Bold-Oblique+ Courier  Courier-Oblique  Courier-Bold  Courier-Bold-Oblique+ Symbol++-}+--------------------------------------------------------------------------------+-- Times-Roman++mkTimesRoman :: Int -> FontAttr+mkTimesRoman = FontAttr "Times-Roman" "Times New Roman" SVG_REGULAR++timesRoman10 :: FontAttr+timesRoman10 = mkTimesRoman 10++timesRoman12 :: FontAttr+timesRoman12 = mkTimesRoman 12++timesRoman18 :: FontAttr+timesRoman18 = mkTimesRoman 18++timesRoman24 :: FontAttr+timesRoman24 = mkTimesRoman 24++timesRoman36 :: FontAttr+timesRoman36 = mkTimesRoman 36++timesRoman48 :: FontAttr+timesRoman48 = mkTimesRoman 48++-- Times Italic++mkTimesItalic :: Int -> FontAttr+mkTimesItalic = FontAttr "Times-Italic" "Times New Roman" SVG_ITALIC++timesItalic10 :: FontAttr+timesItalic10 = mkTimesItalic 10++timesItalic12 :: FontAttr+timesItalic12 = mkTimesItalic 12++timesItalic18 :: FontAttr+timesItalic18 = mkTimesItalic 18++timesItalic24 :: FontAttr+timesItalic24 = mkTimesItalic 24++timesItalic36 :: FontAttr+timesItalic36 = mkTimesItalic 36++timesItalic48 :: FontAttr+timesItalic48 = mkTimesItalic 48++-- Times Bold++mkTimesBold :: Int -> FontAttr+mkTimesBold = FontAttr "Times-Bold" "Times New Roman" SVG_BOLD++timesBold10 :: FontAttr+timesBold10 = mkTimesBold 10++timesBold12 :: FontAttr+timesBold12 = mkTimesBold 12++timesBold18 :: FontAttr+timesBold18 = mkTimesBold 18++timesBold24 :: FontAttr+timesBold24 = mkTimesBold 24++timesBold36 :: FontAttr+timesBold36 = mkTimesBold 36++timesBold48 :: FontAttr+timesBold48 = mkTimesBold 48++-- Times Bold Italic++mkTimesBoldItalic :: Int -> FontAttr+mkTimesBoldItalic = +    FontAttr "Times-BoldItalic" "Times New Roman" SVG_BOLD_ITALIC++timesBoldItalic10 :: FontAttr+timesBoldItalic10 = mkTimesBoldItalic 10++timesBoldItalic12 :: FontAttr+timesBoldItalic12 = mkTimesBoldItalic 12++timesBoldItalic18 :: FontAttr+timesBoldItalic18 = mkTimesBoldItalic 18++timesBoldItalic24 :: FontAttr+timesBoldItalic24 = mkTimesBoldItalic 24++timesBoldItalic36 :: FontAttr+timesBoldItalic36 = mkTimesBoldItalic 36++timesBoldItalic48 :: FontAttr+timesBoldItalic48 = mkTimesBoldItalic 48+++--------------------------------------------------------------------------------+-- Helvetica++mkHelvetica :: Int -> FontAttr+mkHelvetica = FontAttr "Helvetica" "Helvetica" SVG_REGULAR+++helvetica10 :: FontAttr+helvetica10 = mkHelvetica 10++helvetica12 :: FontAttr+helvetica12 = mkHelvetica 12++helvetica18 :: FontAttr+helvetica18 = mkHelvetica 18++helvetica24 :: FontAttr+helvetica24 = mkHelvetica 24++helvetica36 :: FontAttr+helvetica36 = mkHelvetica 36++helvetica48 :: FontAttr+helvetica48 = mkHelvetica 48++-- Helvetica Oblique++mkHelveticaOblique :: Int -> FontAttr+mkHelveticaOblique = FontAttr "Helvetica-Oblique" "Helvetica" SVG_OBLIQUE+++helveticaOblique10 :: FontAttr+helveticaOblique10 = mkHelveticaOblique 10++helveticaOblique12 :: FontAttr+helveticaOblique12 = mkHelveticaOblique 12++helveticaOblique18 :: FontAttr+helveticaOblique18 = mkHelveticaOblique 18++helveticaOblique24 :: FontAttr+helveticaOblique24 = mkHelveticaOblique 24++helveticaOblique36 :: FontAttr+helveticaOblique36 = mkHelveticaOblique 36++helveticaOblique48 :: FontAttr+helveticaOblique48 = mkHelveticaOblique 48+++-- Helvetica Bold++mkHelveticaBold :: Int -> FontAttr+mkHelveticaBold = FontAttr "Helvetica-Bold" "Helvetica" SVG_BOLD+++helveticaBold10 :: FontAttr+helveticaBold10 = mkHelveticaBold 10++helveticaBold12 :: FontAttr+helveticaBold12 = mkHelveticaBold 12++helveticaBold18 :: FontAttr+helveticaBold18 = mkHelveticaBold 18++helveticaBold24 :: FontAttr+helveticaBold24 = mkHelveticaBold 24++helveticaBold36 :: FontAttr+helveticaBold36 = mkHelveticaBold 36++helveticaBold48 :: FontAttr+helveticaBold48 = mkHelveticaBold 48++-- Helvetica Bold Oblique++mkHelveticaBoldOblique :: Int -> FontAttr+mkHelveticaBoldOblique = +    FontAttr "Helvetica-Bold-Oblique" "Helvetica" SVG_BOLD_OBLIQUE+++helveticaBoldOblique10 :: FontAttr+helveticaBoldOblique10 = mkHelveticaBoldOblique 10++helveticaBoldOblique12 :: FontAttr+helveticaBoldOblique12 = mkHelveticaBoldOblique 12++helveticaBoldOblique18 :: FontAttr+helveticaBoldOblique18 = mkHelveticaBoldOblique 18++helveticaBoldOblique24 :: FontAttr+helveticaBoldOblique24 = mkHelveticaBoldOblique 24++helveticaBoldOblique36 :: FontAttr+helveticaBoldOblique36 = mkHelveticaBoldOblique 36++helveticaBoldOblique48 :: FontAttr+helveticaBoldOblique48 = mkHelveticaBoldOblique 48+++++--------------------------------------------------------------------------------+-- Courier++mkCourier :: Int -> FontAttr+mkCourier = FontAttr "Courier" "Courier New" SVG_REGULAR++courier10 :: FontAttr+courier10 = mkCourier 10++courier12 :: FontAttr+courier12 = mkCourier 12++courier18 :: FontAttr+courier18 = mkCourier 18++courier24 :: FontAttr+courier24 = mkCourier 24++courier36 :: FontAttr+courier36 = mkCourier 36++courier48 :: FontAttr+courier48 = mkCourier 48++-- Courier Oblique++mkCourierOblique :: Int -> FontAttr+mkCourierOblique = FontAttr "Courier-Oblique" "Courier New" SVG_OBLIQUE+++courierOblique10 :: FontAttr+courierOblique10 = mkCourierOblique 10++courierOblique12 :: FontAttr+courierOblique12 = mkCourierOblique 12++courierOblique18 :: FontAttr+courierOblique18 = mkCourierOblique 18++courierOblique24 :: FontAttr+courierOblique24 = mkCourierOblique 24++courierOblique36 :: FontAttr+courierOblique36 = mkCourierOblique 36++courierOblique48 :: FontAttr+courierOblique48 = mkCourierOblique 48++-- Courier Bold++mkCourierBold :: Int -> FontAttr+mkCourierBold = FontAttr "Courier-Bold" "Courier New" SVG_BOLD+++courierBold10 :: FontAttr+courierBold10 = mkCourierBold 10++courierBold12 :: FontAttr+courierBold12 = mkCourierBold 12++courierBold18 :: FontAttr+courierBold18 = mkCourierBold 18++courierBold24 :: FontAttr+courierBold24 = mkCourierBold 24++courierBold36 :: FontAttr+courierBold36 = mkCourierBold 36++courierBold48 :: FontAttr+courierBold48 = mkCourierBold 48++-- Courier Bold Oblique++mkCourierBoldOblique :: Int -> FontAttr+mkCourierBoldOblique = +    FontAttr "Courier-Bold-Oblique" "Courier New" SVG_BOLD_OBLIQUE+++courierBoldOblique10 :: FontAttr+courierBoldOblique10 = mkCourierBoldOblique 10++courierBoldOblique12 :: FontAttr+courierBoldOblique12 = mkCourierBoldOblique 12++courierBoldOblique18 :: FontAttr+courierBoldOblique18 = mkCourierBoldOblique 18++courierBoldOblique24 :: FontAttr+courierBoldOblique24 = mkCourierBoldOblique 24++courierBoldOblique36 :: FontAttr+courierBoldOblique36 = mkCourierBoldOblique 36++courierBoldOblique48 :: FontAttr+courierBoldOblique48 = mkCourierBoldOblique 48++--------------------------------------------------------------------------------+-- Symbol++-- $symboldoc+-- Symbol does not appear to be well supported by SVG.+-- It renders in Chrome but not in Firefox.++mkSymbol :: Int -> FontAttr+mkSymbol = FontAttr "Symbol" "Symbol" SVG_REGULAR+++symbol10 :: FontAttr+symbol10 = mkSymbol 10++symbol12 :: FontAttr+symbol12 = mkSymbol 12++symbol18 :: FontAttr+symbol18 = mkSymbol 18++symbol24 :: FontAttr+symbol24 = mkSymbol 24++symbol36 :: FontAttr+symbol36 = mkSymbol 36++symbol48 :: FontAttr+symbol48 = mkSymbol 48++++
+ src/Wumpus/Basic/Utils/HList.hs view
@@ -0,0 +1,79 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.Utils.HList+-- Copyright   :  (c) Stephen Tetley 2010+-- License     :  BSD3+--+-- Maintainer  :  stephen.tetley@gmail.com+-- Stability   :  unstable+-- Portability :  GHC+--+-- Hughes list, ...+--+--------------------------------------------------------------------------------++module Wumpus.Basic.Utils.HList+  (++  -- * Hughes list+    H+  , emptyH+  , wrapH+  , consH+  , snocH+  , appendH+  , veloH+  , concatH++  , toListH+  , fromListH+++  ) where+++--------------------------------------------------------------------------------+-- Hughes list++type H a = [a] -> [a]++emptyH :: H a+emptyH = id++wrapH :: a -> H a+wrapH a = consH a id ++consH :: a -> H a -> H a+consH a f = (a:) . f++snocH :: H a -> a -> H a+snocH  f a = f . (a:)++appendH :: H a -> H a -> H a+appendH f g = f . g++-- | velo consumes the list as per map, but builds it back+-- as a Hughes list - so items can be dropped+-- replaced, repeated, etc...+-- +veloH :: (a -> H b) -> [a] -> H b+veloH f = foldr step id +  where step a hf = f a . hf++concatH :: [H a] -> H a+concatH = foldr (.) id+++toListH :: H a -> [a]+toListH = ($ [])++fromListH :: [a] -> H a+fromListH xs = (xs++)+++--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+
+ src/Wumpus/Basic/VersionNumber.hs view
@@ -0,0 +1,25 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.VersionNumber+-- Copyright   :  (c) Stephen Tetley 2010+-- License     :  BSD3+--+-- Maintainer  :  stephen.tetley@gmail.com+-- Stability   :  unstable+-- Portability :  GHC with TypeFamilies and more+--+-- Version number+--+--------------------------------------------------------------------------------++module Wumpus.Basic.VersionNumber+  ( +    wumpus_basic_version++  ) where+++wumpus_basic_version :: (Int,Int,Int)+wumpus_basic_version = (0,1,1)
+ src/Wumpus/Basic/X11Colours.hs view
@@ -0,0 +1,1060 @@+{-# OPTIONS -Wall #-}++--------------------------------------------------------------------------------+-- |+-- Module      :  Wumpus.Basic.X11Colours+-- Copyright   :  (c) Stephen Tetley 2009-2010+-- License     :  BSD3+--+-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>+-- Stability   :  highly unstable+-- Portability :  GHC with TypeFamilies and more+--+-- The X11 \'named colours\', as rgb [0,1] values +--+--------------------------------------------------------------------------------++module Wumpus.Basic.X11Colours+  ( +  +  -- * Named X11 colours+    antiqueWhite1+  , antiqueWhite2+  , antiqueWhite3+  , antiqueWhite4+  , aquamarine1+  , aquamarine2+  , aquamarine3+  , aquamarine4+  , azure1+  , azure2+  , azure3+  , azure4+  , bisque1+  , bisque2+  , bisque3+  , bisque4+  , blue1+  , blue2+  , blue3+  , blue4+  , brown1+  , brown2+  , brown3+  , brown4+  , burlywood1+  , burlywood2+  , burlywood3+  , burlywood4+  , cadetBlue1+  , cadetBlue2+  , cadetBlue3+  , cadetBlue4+  , chartreuse1+  , chartreuse2+  , chartreuse3+  , chartreuse4+  , chocolate1+  , chocolate2+  , chocolate3+  , chocolate4+  , coral1+  , coral2+  , coral3+  , coral4+  , cornsilk1+  , cornsilk2+  , cornsilk3+  , cornsilk4+  , cyan1+  , cyan2+  , cyan3+  , cyan4+  , darkGoldenrod1+  , darkGoldenrod2+  , darkGoldenrod3+  , darkGoldenrod4+  , darkOliveGreen1+  , darkOliveGreen2+  , darkOliveGreen3+  , darkOliveGreen4+  , darkOrange1+  , darkOrange2+  , darkOrange3+  , darkOrange4+  , darkOrchid1+  , darkOrchid2+  , darkOrchid3+  , darkOrchid4+  , darkSeaGreen1+  , darkSeaGreen2+  , darkSeaGreen3+  , darkSeaGreen4+  , darkSlateGray1+  , darkSlateGray2+  , darkSlateGray3+  , darkSlateGray4+  , deepPink1+  , deepPink2+  , deepPink3+  , deepPink4+  , deepSkyBlue1+  , deepSkyBlue2+  , deepSkyBlue3+  , deepSkyBlue4+  , dodgerBlue1+  , dodgerBlue2+  , dodgerBlue3+  , dodgerBlue4+  , firebrick1+  , firebrick2+  , firebrick3+  , firebrick4+  , gold1+  , gold2+  , gold3+  , gold4+  , goldenrod1+  , goldenrod2+  , goldenrod3+  , goldenrod4+  , green1+  , green2+  , green3+  , green4+  , honeydew1+  , honeydew2+  , honeydew3+  , honeydew4+  , hotPink1+  , hotPink2+  , hotPink3+  , hotPink4+  , indianRed1+  , indianRed2+  , indianRed3+  , indianRed4+  , ivory1+  , ivory2+  , ivory3+  , ivory4+  , khaki1+  , khaki2+  , khaki3+  , khaki4+  , lavenderBlush1+  , lavenderBlush2+  , lavenderBlush3+  , lavenderBlush4+  , lemonChiffon1+  , lemonChiffon2+  , lemonChiffon3+  , lemonChiffon4+  , lightBlue1+  , lightBlue2+  , lightBlue3+  , lightBlue4+  , lightCyan1+  , lightCyan2+  , lightCyan3+  , lightCyan4+  , lightGoldenrod1+  , lightGoldenrod2+  , lightGoldenrod3+  , lightGoldenrod4+  , lightPink1+  , lightPink2+  , lightPink3+  , lightPink4+  , lightSalmon1+  , lightSalmon2+  , lightSalmon3+  , lightSalmon4+  , lightSkyBlue1+  , lightSkyBlue2+  , lightSkyBlue3+  , lightSkyBlue4+  , lightSteelBlue1+  , lightSteelBlue2+  , lightSteelBlue3+  , lightSteelBlue4+  , lightYellow1+  , lightYellow2+  , lightYellow3+  , lightYellow4+  , magenta1+  , magenta2+  , magenta3+  , magenta4+  , maroon1+  , maroon2+  , maroon3+  , maroon4+  , mediumOrchid1+  , mediumOrchid2+  , mediumOrchid3+  , mediumOrchid4+  , mediumPurple1+  , mediumPurple2+  , mediumPurple3+  , mediumPurple4+  , mistyRose1+  , mistyRose2+  , mistyRose3+  , mistyRose4+  , navajoWhite1+  , navajoWhite2+  , navajoWhite3+  , navajoWhite4+  , oliveDrab1+  , oliveDrab2+  , oliveDrab3+  , oliveDrab4+  , orange1+  , orange2+  , orange3+  , orange4+  , orangeRed1+  , orangeRed2+  , orangeRed3+  , orangeRed4+  , orchid1+  , orchid2+  , orchid3+  , orchid4+  , paleGreen1+  , paleGreen2+  , paleGreen3+  , paleGreen4+  , paleTurquoise1+  , paleTurquoise2+  , paleTurquoise3+  , paleTurquoise4+  , paleVioletRed1+  , paleVioletRed2+  , paleVioletRed3+  , paleVioletRed4+  , peachPuff1+  , peachPuff2+  , peachPuff3+  , peachPuff4+  , pink1+  , pink2+  , pink3+  , pink4+  , plum1+  , plum2+  , plum3+  , plum4+  , purple1+  , purple2+  , purple3+  , purple4+  , red1+  , red2+  , red3+  , red4+  , rosyBrown1+  , rosyBrown2+  , rosyBrown3+  , rosyBrown4+  , royalBlue1+  , royalBlue2+  , royalBlue3+  , royalBlue4+  , salmon1+  , salmon2+  , salmon3+  , salmon4+  , seaGreen1+  , seaGreen2+  , seaGreen3+  , seaGreen4+  , seashell1+  , seashell2+  , seashell3+  , seashell4+  , sienna1+  , sienna2+  , sienna3+  , sienna4+  , skyBlue1+  , skyBlue2+  , skyBlue3+  , skyBlue4+  , slateBlue1+  , slateBlue2+  , slateBlue3+  , slateBlue4+  , slateGray1+  , slateGray2+  , slateGray3+  , slateGray4+  , snow1+  , snow2+  , snow3+  , snow4+  , springGreen1+  , springGreen2+  , springGreen3+  , springGreen4+  , steelBlue1+  , steelBlue2+  , steelBlue3+  , steelBlue4+  , tan1+  , tan2+  , tan3+  , tan4+  , thistle1+  , thistle2+  , thistle3+  , thistle4+  , tomato1+  , tomato2+  , tomato3+  , tomato4+  , turquoise1+  , turquoise2+  , turquoise3+  , turquoise4+  , violetRed1+  , violetRed2+  , violetRed3+  , violetRed4+  , wheat1+  , wheat2+  , wheat3+  , wheat4+  , yellow1+  , yellow2+  , yellow3+  , yellow4+  , gray0+  , green0+  , grey0+  , maroon0+  , purple0++  ) where++import Wumpus.Core.Colour ( RGB3(..), DRGB )++--------------------------------------------------------------------------------++antiqueWhite1           :: DRGB+antiqueWhite2           :: DRGB+antiqueWhite3           :: DRGB+antiqueWhite4           :: DRGB+antiqueWhite1           = RGB3 1   0.936   0.86+antiqueWhite2           = RGB3 0.932   0.875   0.8+antiqueWhite3           = RGB3 0.804   0.752   0.69+antiqueWhite4           = RGB3 0.545   0.512   0.47++aquamarine1             :: DRGB+aquamarine2             :: DRGB+aquamarine3             :: DRGB+aquamarine4             :: DRGB+aquamarine1             = RGB3 0.498  1   0.83+aquamarine2             = RGB3 0.464   0.932   0.776+aquamarine3             = RGB3 0.4   0.804   0.668+aquamarine4             = RGB3 0.27   0.545   0.455++azure1                  :: DRGB+azure2                  :: DRGB+azure3                  :: DRGB+azure4                  :: DRGB+azure1                  = RGB3 0.94  1  1+azure2                  = RGB3 0.88   0.932   0.932+azure3                  = RGB3 0.756   0.804   0.804+azure4                  = RGB3 0.512   0.545   0.545++bisque1                 :: DRGB+bisque2                 :: DRGB+bisque3                 :: DRGB+bisque4                 :: DRGB+bisque1                 = RGB3 1   0.894   0.77+bisque2                 = RGB3 0.932   0.835   0.716+bisque3                 = RGB3 0.804   0.716   0.62+bisque4                 = RGB3 0.545   0.49   0.42++blue1                   :: DRGB+blue2                   :: DRGB+blue3                   :: DRGB+blue4                   :: DRGB+blue1                   = RGB3 0  0  1+blue2                   = RGB3 0  0   0.932+blue3                   = RGB3 0  0   0.804+blue4                   = RGB3 0  0   0.545++brown1                  :: DRGB+brown2                  :: DRGB+brown3                  :: DRGB+brown4                  :: DRGB+brown1                  = RGB3 1   0.25   0.25+brown2                  = RGB3 0.932   0.23   0.23+brown3                  = RGB3 0.804   0.2   0.2+brown4                  = RGB3 0.545   0.136   0.136++burlywood1              :: DRGB+burlywood2              :: DRGB+burlywood3              :: DRGB+burlywood4              :: DRGB+burlywood1              = RGB3 1   0.828   0.608+burlywood2              = RGB3 0.932   0.772   0.57+burlywood3              = RGB3 0.804   0.668   0.49+burlywood4              = RGB3 0.545   0.45   0.332++cadetBlue1              :: DRGB+cadetBlue2              :: DRGB+cadetBlue3              :: DRGB+cadetBlue4              :: DRGB+cadetBlue1              = RGB3 0.596   0.96  1+cadetBlue2              = RGB3 0.556   0.898   0.932+cadetBlue3              = RGB3 0.48   0.772   0.804+cadetBlue4              = RGB3 0.325   0.525   0.545++chartreuse1             :: DRGB+chartreuse2             :: DRGB+chartreuse3             :: DRGB+chartreuse4             :: DRGB+chartreuse1             = RGB3 0.498  1  0+chartreuse2             = RGB3 0.464   0.932  0+chartreuse3             = RGB3 0.4   0.804  0+chartreuse4             = RGB3 0.27   0.545  0++chocolate1              :: DRGB+chocolate2              :: DRGB+chocolate3              :: DRGB+chocolate4              :: DRGB+chocolate1              = RGB3 1   0.498   0.14+chocolate2              = RGB3 0.932   0.464   0.13+chocolate3              = RGB3 0.804   0.4   0.112+chocolate4              = RGB3 0.545   0.27   0.075++coral1                  :: DRGB+coral2                  :: DRGB+coral3                  :: DRGB+coral4                  :: DRGB+coral1                  = RGB3 1   0.448   0.336+coral2                  = RGB3 0.932   0.415   0.312+coral3                  = RGB3 0.804   0.356   0.27+coral4                  = RGB3 0.545   0.244   0.185++cornsilk1               :: DRGB+cornsilk2               :: DRGB+cornsilk3               :: DRGB+cornsilk4               :: DRGB+cornsilk1               = RGB3 1   0.972   0.864+cornsilk2               = RGB3 0.932   0.91   0.804+cornsilk3               = RGB3 0.804   0.785   0.694+cornsilk4               = RGB3 0.545   0.532   0.47++cyan1                   :: DRGB+cyan2                   :: DRGB+cyan3                   :: DRGB+cyan4                   :: DRGB+cyan1                   = RGB3 0   1   1+cyan2                   = RGB3 0   0.932   0.932+cyan3                   = RGB3 0   0.804   0.804+cyan4                   = RGB3 0   0.545   0.545++darkGoldenrod1          :: DRGB+darkGoldenrod2          :: DRGB+darkGoldenrod3          :: DRGB+darkGoldenrod4          :: DRGB+darkGoldenrod1          = RGB3 1   0.725   0.06+darkGoldenrod2          = RGB3 0.932   0.68   0.055+darkGoldenrod3          = RGB3 0.804   0.585   0.048+darkGoldenrod4          = RGB3 0.545   0.396   0.03++darkOliveGreen1         :: DRGB+darkOliveGreen2         :: DRGB+darkOliveGreen3         :: DRGB+darkOliveGreen4         :: DRGB+darkOliveGreen1         = RGB3 0.792  1   0.44+darkOliveGreen2         = RGB3 0.736   0.932   0.408+darkOliveGreen3         = RGB3 0.635   0.804   0.352+darkOliveGreen4         = RGB3 0.43   0.545   0.24++darkOrange1             :: DRGB+darkOrange2             :: DRGB+darkOrange3             :: DRGB+darkOrange4             :: DRGB+darkOrange1             = RGB3 1   0.498  0+darkOrange2             = RGB3 0.932   0.464  0+darkOrange3             = RGB3 0.804   0.4  0+darkOrange4             = RGB3 0.545   0.27  0++darkOrchid1             :: DRGB+darkOrchid2             :: DRGB+darkOrchid3             :: DRGB+darkOrchid4             :: DRGB+darkOrchid1             = RGB3 0.75   0.244  1+darkOrchid2             = RGB3 0.698   0.228   0.932+darkOrchid3             = RGB3 0.604   0.196   0.804+darkOrchid4             = RGB3 0.408   0.132   0.545++darkSeaGreen1           :: DRGB+darkSeaGreen2           :: DRGB+darkSeaGreen3           :: DRGB+darkSeaGreen4           :: DRGB+darkSeaGreen1           = RGB3 0.756  1   0.756+darkSeaGreen2           = RGB3 0.705   0.932   0.705+darkSeaGreen3           = RGB3 0.608   0.804   0.608+darkSeaGreen4           = RGB3 0.41   0.545   0.41++darkSlateGray1          :: DRGB+darkSlateGray2          :: DRGB+darkSlateGray3          :: DRGB+darkSlateGray4          :: DRGB+darkSlateGray1          = RGB3 0.592  1  1+darkSlateGray2          = RGB3 0.552   0.932   0.932+darkSlateGray3          = RGB3 0.475   0.804   0.804+darkSlateGray4          = RGB3 0.32   0.545   0.545++deepPink1               :: DRGB+deepPink2               :: DRGB+deepPink3               :: DRGB+deepPink4               :: DRGB+deepPink1               = RGB3 1   0.08   0.576+deepPink2               = RGB3 0.932   0.07   0.536+deepPink3               = RGB3 0.804   0.064   0.464+deepPink4               = RGB3 0.545   0.04   0.312++deepSkyBlue1            :: DRGB+deepSkyBlue2            :: DRGB+deepSkyBlue3            :: DRGB+deepSkyBlue4            :: DRGB+deepSkyBlue1            = RGB3 0   0.75  1+deepSkyBlue2            = RGB3 0   0.698   0.932+deepSkyBlue3            = RGB3 0   0.604   0.804+deepSkyBlue4            = RGB3 0   0.408   0.545++dodgerBlue1             :: DRGB+dodgerBlue2             :: DRGB+dodgerBlue3             :: DRGB+dodgerBlue4             :: DRGB+dodgerBlue1             = RGB3 0.116   0.565  1+dodgerBlue2             = RGB3 0.11   0.525   0.932+dodgerBlue3             = RGB3 0.094   0.455   0.804+dodgerBlue4             = RGB3 0.064   0.305   0.545++firebrick1              :: DRGB+firebrick2              :: DRGB+firebrick3              :: DRGB+firebrick4              :: DRGB+firebrick1              = RGB3 1   0.19   0.19+firebrick2              = RGB3 0.932   0.172   0.172+firebrick3              = RGB3 0.804   0.15   0.15+firebrick4              = RGB3 0.545   0.1   0.1++gold1                   :: DRGB+gold2                   :: DRGB+gold3                   :: DRGB+gold4                   :: DRGB+gold1                   = RGB3 1   0.844  0+gold2                   = RGB3 0.932   0.79  0+gold3                   = RGB3 0.804   0.68  0+gold4                   = RGB3 0.545   0.46  0++goldenrod1              :: DRGB+goldenrod2              :: DRGB+goldenrod3              :: DRGB+goldenrod4              :: DRGB+goldenrod1              = RGB3 1   0.756   0.145+goldenrod2              = RGB3 0.932   0.705   0.132+goldenrod3              = RGB3 0.804   0.608   0.112+goldenrod4              = RGB3 0.545   0.41   0.08++green1                  :: DRGB+green2                  :: DRGB+green3                  :: DRGB+green4                  :: DRGB+green1                  = RGB3 0  1  0+green2                  = RGB3 0   0.932  0+green3                  = RGB3 0   0.804  0+green4                  = RGB3 0   0.545  0++honeydew1               :: DRGB+honeydew2               :: DRGB+honeydew3               :: DRGB+honeydew4               :: DRGB+honeydew1               = RGB3 0.94  1   0.94+honeydew2               = RGB3 0.88   0.932   0.88+honeydew3               = RGB3 0.756   0.804   0.756+honeydew4               = RGB3 0.512   0.545   0.512++hotPink1                :: DRGB+hotPink2                :: DRGB+hotPink3                :: DRGB+hotPink4                :: DRGB+hotPink1                = RGB3 1   0.43   0.705+hotPink2                = RGB3 0.932   0.415   0.655+hotPink3                = RGB3 0.804   0.376   0.565+hotPink4                = RGB3 0.545   0.228   0.385++indianRed1              :: DRGB+indianRed2              :: DRGB+indianRed3              :: DRGB+indianRed4              :: DRGB+indianRed1              = RGB3 1   0.415   0.415+indianRed2              = RGB3 0.932   0.39   0.39+indianRed3              = RGB3 0.804   0.332   0.332+indianRed4              = RGB3 0.545   0.228   0.228++ivory1                  :: DRGB+ivory2                  :: DRGB+ivory3                  :: DRGB+ivory4                  :: DRGB+ivory1                  = RGB3 1   1   0.94+ivory2                  = RGB3 0.932   0.932   0.88+ivory3                  = RGB3 0.804   0.804   0.756+ivory4                  = RGB3 0.545   0.545   0.512++khaki1                  :: DRGB+khaki2                  :: DRGB+khaki3                  :: DRGB+khaki4                  :: DRGB+khaki1                  = RGB3 1   0.965   0.56+khaki2                  = RGB3 0.932   0.9   0.52+khaki3                  = RGB3 0.804   0.776   0.45+khaki4                  = RGB3 0.545   0.525   0.305++lavenderBlush1          :: DRGB+lavenderBlush2          :: DRGB+lavenderBlush3          :: DRGB+lavenderBlush4          :: DRGB+lavenderBlush1          = RGB3 1   0.94   0.96+lavenderBlush2          = RGB3 0.932   0.88   0.898+lavenderBlush3          = RGB3 0.804   0.756   0.772+lavenderBlush4          = RGB3 0.545   0.512   0.525++lemonChiffon1           :: DRGB+lemonChiffon2           :: DRGB+lemonChiffon3           :: DRGB+lemonChiffon4           :: DRGB+lemonChiffon1           = RGB3 1   0.98   0.804+lemonChiffon2           = RGB3 0.932   0.912   0.75+lemonChiffon3           = RGB3 0.804   0.79   0.648+lemonChiffon4           = RGB3 0.545   0.536   0.44++lightBlue1              :: DRGB+lightBlue2              :: DRGB+lightBlue3              :: DRGB+lightBlue4              :: DRGB+lightBlue1              = RGB3 0.75   0.936  1+lightBlue2              = RGB3 0.698   0.875   0.932+lightBlue3              = RGB3 0.604   0.752   0.804+lightBlue4              = RGB3 0.408   0.512   0.545++lightCyan1              :: DRGB+lightCyan2              :: DRGB+lightCyan3              :: DRGB+lightCyan4              :: DRGB+lightCyan1              = RGB3 0.88  1  1+lightCyan2              = RGB3 0.82   0.932   0.932+lightCyan3              = RGB3 0.705   0.804   0.804+lightCyan4              = RGB3 0.48   0.545   0.545++lightGoldenrod1         :: DRGB+lightGoldenrod2         :: DRGB+lightGoldenrod3         :: DRGB+lightGoldenrod4         :: DRGB+lightGoldenrod1         = RGB3 1   0.925   0.545+lightGoldenrod2         = RGB3 0.932   0.864   0.51+lightGoldenrod3         = RGB3 0.804   0.745   0.44+lightGoldenrod4         = RGB3 0.545   0.505   0.298++lightPink1              :: DRGB+lightPink2              :: DRGB+lightPink3              :: DRGB+lightPink4              :: DRGB+lightPink1              = RGB3 1   0.684   0.725+lightPink2              = RGB3 0.932   0.635   0.68+lightPink3              = RGB3 0.804   0.55   0.585+lightPink4              = RGB3 0.545   0.372   0.396++lightSalmon1            :: DRGB+lightSalmon2            :: DRGB+lightSalmon3            :: DRGB+lightSalmon4            :: DRGB+lightSalmon1            = RGB3 1   0.628   0.48+lightSalmon2            = RGB3 0.932   0.585   0.448+lightSalmon3            = RGB3 0.804   0.505   0.385+lightSalmon4            = RGB3 0.545   0.34   0.26++lightSkyBlue1           :: DRGB+lightSkyBlue2           :: DRGB+lightSkyBlue3           :: DRGB+lightSkyBlue4           :: DRGB+lightSkyBlue1           = RGB3 0.69   0.888  1+lightSkyBlue2           = RGB3 0.644   0.828   0.932+lightSkyBlue3           = RGB3 0.552   0.712   0.804+lightSkyBlue4           = RGB3 0.376   0.484   0.545++lightSteelBlue1         :: DRGB+lightSteelBlue2         :: DRGB+lightSteelBlue3         :: DRGB+lightSteelBlue4         :: DRGB+lightSteelBlue1         = RGB3 0.792   0.884  1+lightSteelBlue2         = RGB3 0.736   0.824   0.932+lightSteelBlue3         = RGB3 0.635   0.71   0.804+lightSteelBlue4         = RGB3 0.43   0.484   0.545++lightYellow1            :: DRGB+lightYellow2            :: DRGB+lightYellow3            :: DRGB+lightYellow4            :: DRGB+lightYellow1            = RGB3 1  1   0.88+lightYellow2            = RGB3 0.932   0.932   0.82+lightYellow3            = RGB3 0.804   0.804   0.705+lightYellow4            = RGB3 0.545   0.545   0.48++magenta1                :: DRGB+magenta2                :: DRGB+magenta3                :: DRGB+magenta4                :: DRGB+magenta1                = RGB3 1  0  1+magenta2                = RGB3 0.932  0   0.932+magenta3                = RGB3 0.804  0   0.804+magenta4                = RGB3 0.545  0   0.545++maroon1                 :: DRGB+maroon2                 :: DRGB+maroon3                 :: DRGB+maroon4                 :: DRGB+maroon1                 = RGB3 1   0.204   0.7+maroon2                 = RGB3 0.932   0.19   0.655+maroon3                 = RGB3 0.804   0.16   0.565+maroon4                 = RGB3 0.545   0.11   0.385++mediumOrchid1           :: DRGB+mediumOrchid2           :: DRGB+mediumOrchid3           :: DRGB+mediumOrchid4           :: DRGB+mediumOrchid1           = RGB3 0.88   0.4  1+mediumOrchid2           = RGB3 0.82   0.372   0.932+mediumOrchid3           = RGB3 0.705   0.32   0.804+mediumOrchid4           = RGB3 0.48   0.215   0.545++mediumPurple1           :: DRGB+mediumPurple2           :: DRGB+mediumPurple3           :: DRGB+mediumPurple4           :: DRGB+mediumPurple1           = RGB3 0.67   0.51  1+mediumPurple2           = RGB3 0.624   0.475   0.932+mediumPurple3           = RGB3 0.536   0.408   0.804+mediumPurple4           = RGB3 0.365   0.28   0.545++mistyRose1              :: DRGB+mistyRose2              :: DRGB+mistyRose3              :: DRGB+mistyRose4              :: DRGB+mistyRose1              = RGB3 1   0.894   0.884+mistyRose2              = RGB3 0.932   0.835   0.824+mistyRose3              = RGB3 0.804   0.716   0.71+mistyRose4              = RGB3 0.545   0.49   0.484++navajoWhite1            :: DRGB+navajoWhite2            :: DRGB+navajoWhite3            :: DRGB+navajoWhite4            :: DRGB+navajoWhite1            = RGB3 1   0.87   0.68+navajoWhite2            = RGB3 0.932   0.81   0.63+navajoWhite3            = RGB3 0.804   0.7   0.545+navajoWhite4            = RGB3 0.545   0.475   0.37++oliveDrab1              :: DRGB+oliveDrab2              :: DRGB+oliveDrab3              :: DRGB+oliveDrab4              :: DRGB+oliveDrab1              = RGB3 0.752  1   0.244+oliveDrab2              = RGB3 0.7   0.932   0.228+oliveDrab3              = RGB3 0.604   0.804   0.196+oliveDrab4              = RGB3 0.41   0.545   0.132++orange1                 :: DRGB+orange2                 :: DRGB+orange3                 :: DRGB+orange4                 :: DRGB+orange1                 = RGB3 1   0.648  0+orange2                 = RGB3 0.932   0.604  0+orange3                 = RGB3 0.804   0.52  0+orange4                 = RGB3 0.545   0.352  0++orangeRed1              :: DRGB+orangeRed2              :: DRGB+orangeRed3              :: DRGB+orangeRed4              :: DRGB+orangeRed1              = RGB3 1   0.27  0+orangeRed2              = RGB3 0.932   0.25  0+orangeRed3              = RGB3 0.804   0.215  0+orangeRed4              = RGB3 0.545   0.145  0++orchid1                 :: DRGB+orchid2                 :: DRGB+orchid3                 :: DRGB+orchid4                 :: DRGB+orchid1                 = RGB3 1   0.512   0.98+orchid2                 = RGB3 0.932   0.48   0.912+orchid3                 = RGB3 0.804   0.41   0.79+orchid4                 = RGB3 0.545   0.28   0.536++paleGreen1              :: DRGB+paleGreen2              :: DRGB+paleGreen3              :: DRGB+paleGreen4              :: DRGB+paleGreen1              = RGB3 0.604  1   0.604+paleGreen2              = RGB3 0.565   0.932   0.565+paleGreen3              = RGB3 0.488   0.804   0.488+paleGreen4              = RGB3 0.33   0.545   0.33++paleTurquoise1          :: DRGB+paleTurquoise2          :: DRGB+paleTurquoise3          :: DRGB+paleTurquoise4          :: DRGB+paleTurquoise1          = RGB3 0.732  1  1+paleTurquoise2          = RGB3 0.684   0.932   0.932+paleTurquoise3          = RGB3 0.59   0.804   0.804+paleTurquoise4          = RGB3 0.4   0.545   0.545++paleVioletRed1          :: DRGB+paleVioletRed2          :: DRGB+paleVioletRed3          :: DRGB+paleVioletRed4          :: DRGB+paleVioletRed1          = RGB3 1   0.51   0.67+paleVioletRed2          = RGB3 0.932   0.475   0.624+paleVioletRed3          = RGB3 0.804   0.408   0.536+paleVioletRed4          = RGB3 0.545   0.28   0.365++peachPuff1              :: DRGB+peachPuff2              :: DRGB+peachPuff3              :: DRGB+peachPuff4              :: DRGB+peachPuff1              = RGB3 1   0.855   0.725+peachPuff2              = RGB3 0.932   0.796   0.68+peachPuff3              = RGB3 0.804   0.688   0.585+peachPuff4              = RGB3 0.545   0.468   0.396++pink1                   :: DRGB+pink2                   :: DRGB+pink3                   :: DRGB+pink4                   :: DRGB+pink1                   = RGB3 1   0.71   0.772+pink2                   = RGB3 0.932   0.664   0.72+pink3                   = RGB3 0.804   0.57   0.62+pink4                   = RGB3 0.545   0.39   0.424++plum1                   :: DRGB+plum2                   :: DRGB+plum3                   :: DRGB+plum4                   :: DRGB+plum1                   = RGB3 1   0.732  1+plum2                   = RGB3 0.932   0.684   0.932+plum3                   = RGB3 0.804   0.59   0.804+plum4                   = RGB3 0.545   0.4   0.545++purple1                 :: DRGB+purple2                 :: DRGB+purple3                 :: DRGB+purple4                 :: DRGB+purple1                 = RGB3 0.608   0.19  1+purple2                 = RGB3 0.57   0.172   0.932+purple3                 = RGB3 0.49   0.15   0.804+purple4                 = RGB3 0.332   0.1   0.545++red1                    :: DRGB+red2                    :: DRGB+red3                    :: DRGB+red4                    :: DRGB+red1                    = RGB3 1  0  0+red2                    = RGB3 0.932  0  0+red3                    = RGB3 0.804  0  0+red4                    = RGB3 0.545  0  0++rosyBrown1              :: DRGB+rosyBrown2              :: DRGB+rosyBrown3              :: DRGB+rosyBrown4              :: DRGB+rosyBrown1              = RGB3 1   0.756   0.756+rosyBrown2              = RGB3 0.932   0.705   0.705+rosyBrown3              = RGB3 0.804   0.608   0.608+rosyBrown4              = RGB3 0.545   0.41   0.41++royalBlue1              :: DRGB+royalBlue2              :: DRGB+royalBlue3              :: DRGB+royalBlue4              :: DRGB+royalBlue1              = RGB3 0.284   0.464  1+royalBlue2              = RGB3 0.264   0.43   0.932+royalBlue3              = RGB3 0.228   0.372   0.804+royalBlue4              = RGB3 0.152   0.25   0.545++salmon1                 :: DRGB+salmon2                 :: DRGB+salmon3                 :: DRGB+salmon4                 :: DRGB+salmon1                 = RGB3 1   0.55   0.41+salmon2                 = RGB3 0.932   0.51   0.385+salmon3                 = RGB3 0.804   0.44   0.33+salmon4                 = RGB3 0.545   0.298   0.224++seaGreen1               :: DRGB+seaGreen2               :: DRGB+seaGreen3               :: DRGB+seaGreen4               :: DRGB+seaGreen1               = RGB3 0.33  1   0.624+seaGreen2               = RGB3 0.305   0.932   0.58+seaGreen3               = RGB3 0.264   0.804   0.5+seaGreen4               = RGB3 0.18   0.545   0.34++seashell1               :: DRGB+seashell2               :: DRGB+seashell3               :: DRGB+seashell4               :: DRGB+seashell1               = RGB3 1   0.96   0.932+seashell2               = RGB3 0.932   0.898   0.87+seashell3               = RGB3 0.804   0.772   0.75+seashell4               = RGB3 0.545   0.525   0.51++sienna1                 :: DRGB+sienna2                 :: DRGB+sienna3                 :: DRGB+sienna4                 :: DRGB+sienna1                 = RGB3 1   0.51   0.28+sienna2                 = RGB3 0.932   0.475   0.26+sienna3                 = RGB3 0.804   0.408   0.224+sienna4                 = RGB3 0.545   0.28   0.15++skyBlue1                :: DRGB+skyBlue2                :: DRGB+skyBlue3                :: DRGB+skyBlue4                :: DRGB+skyBlue1                = RGB3 0.53   0.808  1+skyBlue2                = RGB3 0.494   0.752   0.932+skyBlue3                = RGB3 0.424   0.65   0.804+skyBlue4                = RGB3 0.29   0.44   0.545++slateBlue1              :: DRGB+slateBlue2              :: DRGB+slateBlue3              :: DRGB+slateBlue4              :: DRGB+slateBlue1              = RGB3 0.512   0.435  1+slateBlue2              = RGB3 0.48   0.404   0.932+slateBlue3              = RGB3 0.41   0.35   0.804+slateBlue4              = RGB3 0.28   0.235   0.545++slateGray1              :: DRGB+slateGray2              :: DRGB+slateGray3              :: DRGB+slateGray4              :: DRGB+slateGray1              = RGB3 0.776   0.888  1+slateGray2              = RGB3 0.725   0.828   0.932+slateGray3              = RGB3 0.624   0.712   0.804+slateGray4              = RGB3 0.424   0.484   0.545++snow1                   :: DRGB+snow2                   :: DRGB+snow3                   :: DRGB+snow4                   :: DRGB+snow1                   = RGB3 1   0.98   0.98+snow2                   = RGB3 0.932   0.912   0.912+snow3                   = RGB3 0.804   0.79   0.79+snow4                   = RGB3 0.545   0.536   0.536++springGreen1            :: DRGB+springGreen2            :: DRGB+springGreen3            :: DRGB+springGreen4            :: DRGB+springGreen1            = RGB3 0  1   0.498+springGreen2            = RGB3 0   0.932   0.464+springGreen3            = RGB3 0   0.804   0.4+springGreen4            = RGB3 0   0.545   0.27++steelBlue1              :: DRGB+steelBlue2              :: DRGB+steelBlue3              :: DRGB+steelBlue4              :: DRGB+steelBlue1              = RGB3 0.39   0.72  1+steelBlue2              = RGB3 0.36   0.675   0.932+steelBlue3              = RGB3 0.31   0.58   0.804+steelBlue4              = RGB3 0.21   0.392   0.545++tan1                    :: DRGB+tan2                    :: DRGB+tan3                    :: DRGB+tan4                    :: DRGB+tan1                    = RGB3 1   0.648   0.31+tan2                    = RGB3 0.932   0.604   0.288+tan3                    = RGB3 0.804   0.52   0.248+tan4                    = RGB3 0.545   0.352   0.17++thistle1                :: DRGB+thistle2                :: DRGB+thistle3                :: DRGB+thistle4                :: DRGB+thistle1                = RGB3 1   0.884  1+thistle2                = RGB3 0.932   0.824   0.932+thistle3                = RGB3 0.804   0.71   0.804+thistle4                = RGB3 0.545   0.484   0.545++tomato1                 :: DRGB+tomato2                 :: DRGB+tomato3                 :: DRGB+tomato4                 :: DRGB+tomato1                 = RGB3 1   0.39   0.28+tomato2                 = RGB3 0.932   0.36   0.26+tomato3                 = RGB3 0.804   0.31   0.224+tomato4                 = RGB3 0.545   0.21   0.15++turquoise1              :: DRGB+turquoise2              :: DRGB+turquoise3              :: DRGB+turquoise4              :: DRGB+turquoise1              = RGB3 0   0.96  1+turquoise2              = RGB3 0   0.898   0.932+turquoise3              = RGB3 0   0.772   0.804+turquoise4              = RGB3 0   0.525   0.545++violetRed1              :: DRGB+violetRed2              :: DRGB+violetRed3              :: DRGB+violetRed4              :: DRGB+violetRed1              = RGB3 1   0.244   0.59+violetRed2              = RGB3 0.932   0.228   0.55+violetRed3              = RGB3 0.804   0.196   0.47+violetRed4              = RGB3 0.545   0.132   0.32++wheat1                  :: DRGB+wheat2                  :: DRGB+wheat3                  :: DRGB+wheat4                  :: DRGB+wheat1                  = RGB3 1   0.905   0.73+wheat2                  = RGB3 0.932   0.848   0.684+wheat3                  = RGB3 0.804   0.73   0.59+wheat4                  = RGB3 0.545   0.494   0.4++yellow1                 :: DRGB+yellow2                 :: DRGB+yellow3                 :: DRGB+yellow4                 :: DRGB+yellow1                 = RGB3 1  1  0+yellow2                 = RGB3 0.932   0.932  0+yellow3                 = RGB3 0.804   0.804  0+yellow4                 = RGB3 0.545   0.545  0++gray0                   :: DRGB+green0                  :: DRGB+grey0                   :: DRGB+maroon0                 :: DRGB+purple0                 :: DRGB+gray0                   = RGB3 0.745  0.745  0.745+green0                  = RGB3 0      1      0+grey0                   = RGB3 0.745  0.745  0.745+maroon0                 = RGB3 0.69   0.19   0.376+purple0                 = RGB3 0.628  0.125  0.94++++
+ wumpus-basic.cabal view
@@ -0,0 +1,52 @@+name:             wumpus-basic+version:          0.1.1+license:          BSD3+license-file:     LICENSE+copyright:        Stephen Tetley <stephen.tetley@gmail.com>+maintainer:       Stephen Tetley <stephen.tetley@gmail.com>+homepage:         http://code.google.com/p/copperbox/+category:         Graphics+synopsis:         Common drawing utilities built on wumpus-core.+description:+  .+  Very preliminary release...+  .+  .+build-type:         Simple+stability:          highly unstable+cabal-version:      >= 1.2++extra-source-files:+  CHANGES,+  LICENSE,+  demo/FontPic.hs+  +library+  hs-source-dirs:     src+  build-depends:      base            <  5, +                      vector-space    >= 0.6,+                      monadLib        >= 3.6,+                      wumpus-core     >= 0.20.0++  +  exposed-modules:+    Wumpus.Basic.Monads.TraceMonad,+    Wumpus.Basic.Monads.TurtleMonad,+    Wumpus.Basic.SafeFonts,+    Wumpus.Basic.SVGColours,+    Wumpus.Basic.X11Colours,+    Wumpus.Basic.Utils.HList,+    Wumpus.Basic.VersionNumber++  other-modules:++  extensions:+    ++  ghc-options:+  +  includes: +  ++  +