Difference between revisions of "User:Lenny222"

From HaskellWiki
Jump to navigation Jump to search
Line 53: Line 53:
 
</haskell>
 
</haskell>
 
*** defaultUnit
 
*** defaultUnit
** Length Unit Double
+
** <haskell>data Length = Length Unit Double deriving(Eq, Show)</haskell>
  +
   
 
* new Shapes
 
* new Shapes

Revision as of 14:05, 11 January 2010

Things i think need improvement

Chlor


Todo

  • Primitive
    • Circle durch Ellipse ersetzen
    • Polyline [(Double, Double)]
    • Polygon [(Double, Double)]
  • Shape refactoring, e.g. sine :: Int -> Shape => sine :: Int -> [Primitive]
    • Circle
    • Ellipse
    • Rectangle
    • Sine
  • defaultStroke :: Stroke
  • defaultEffects :: [Effect]
  • defaultFill :: Fill
  • defaultObject :: Object
  • Datatypes
    • Angle (degrees, grads, radians)
    • Unit
  data SvgUnit =
          UnitCM
        | UnitEM
        | UnitEX
        | UnitIN
        | UnitMM
        | UnitPC
        | UnitPT
        | UnitPX
        | UnitPercent
        deriving(Eq, Show)
      • defaultUnit
    • data Length = Length Unit Double deriving(Eq, Show)
      


  • new Shapes
    • regularPolygon :: -- ^ n, startAngle, radius, box
    • star :: -- ^ n, startAngle, radius1, radius2, box
  • Path
    • "Path Bool [Segment]" isClosed flag instead of "Close" segment?
      • Pros:
        • no need to travel to the last segment to find out whether a path is closed
      • Cons:
    • remove one Point in Segments
      • Pros: paths are more consistent, less duplication
      • Cons: Segments stop being standalone
      • Interesting: how to get the last point of the previous segment?
  • SVG export
    • SvgPath
      • <path d="M 100 100 L 300 100 L 200 300 z" fill="red" stroke="blue" stroke-width="3" />
    • SvgRectangle
      • <rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" />
  • ObjectLike: DList instead of List?
  • SVG XML generation
    • HStringTemplate?
    • HXT?
    • HaXml?
  • Layout
    • Instances
      • Column
      • Grid (cols, rows, margins)
      • Margin/Frame
        • content size (absolute, relative, remaining)
        • margin sizes (absolute, relative, remaining)
  • repeatedly
    • use HLint
    • use ghc -W
  • AffineTransformation

Ideas

  • layout
    • Table
    • SpaceHorizontal
    • SpaceVertical

Simplified Haskell homepage

A simplified Haskell frontpage

Why?