Difference between revisions of "User:Lenny222"

From HaskellWiki
Jump to navigation Jump to search
Line 9: Line 9:
 
=== Graphic Language ===
 
=== Graphic Language ===
 
<haskell>
 
<haskell>
Figure = Figure {
+
data Figure = Figure {
fill :: Fill
+
fill :: Fill
, shape :: Shape
+
, shape :: Shape
, stroke :: Stroke
+
, stroke :: Stroke
}
+
}
   
Fill = Fill {
+
data Fill = Fill {
paint :: Paint,
+
paint :: Paint,
}
+
}
   
Stroke = Stroke {
+
data Stroke = Stroke {
paint :: Paint,
+
paint :: Paint,
, strokeWidth :: Double,
+
, strokeWidth :: Double,
, dashPattern :: DashPattern
+
, dashPattern :: DashPattern
--, miterLimit ::
+
, lineCap :: LineCap
  +
, lineJoin :: LineJoin
}
 
  +
, miterLimit :: Double
  +
} deriving(Eq, Show)
   
Paint =
+
data Paint =
SolidColor
+
SolidColor
| Pattern
+
| Pattern
| Gradient
+
| Gradient
  +
deriving(Eq, Show)
   
Shape =
+
data Shape =
Path
+
Path
| Primitive
+
| Primitive
| Text
+
| Text
  +
deriving(Eq, Show)
   
Primitive =
+
data Primitive =
  +
Circle
square
 
  +
| Ellipse
| circle
 
  +
| Rectangle
| ellipse
 
  +
| Square
| rectangle
 
  +
deriving(Eq, Show)
   
 
class PathLike a =
 
class PathLike a =

Revision as of 16:30, 16 November 2009

Things i think need improvement

Graphic Language

data Figure = Figure {
    fill :: Fill
  , shape :: Shape
  , stroke :: Stroke
  }

data Fill = Fill {
    paint :: Paint,
  }

data Stroke = Stroke {
    paint :: Paint,
  , strokeWidth :: Double,
  , dashPattern :: DashPattern
  , lineCap :: LineCap
  , lineJoin :: LineJoin
  , miterLimit :: Double
  } deriving(Eq, Show)

data Paint =
    SolidColor
  | Pattern
  | Gradient
  deriving(Eq, Show)

data Shape =
    Path
  | Primitive
  | Text
  deriving(Eq, Show)

data Primitive =
    Circle
  | Ellipse
  | Rectangle
  | Square
  deriving(Eq, Show)

class PathLike a =
	convertToPath :: a -> Path

Simplified Haskell homepage

A simplified Haskell frontpage

Other programming language homepages:

Contact

Contact me via

q 4 0 9

a t

k u d l i n g

d o t

d e


[1]