Personal tools

User:Lenny222

From HaskellWiki

Revision as of 17:50, 11 January 2010 by Lenny222 (Talk | contribs)

Jump to: navigation, search

Contents

1 Things i think need improvement

1.1 Chlor


1.1.1 Todo

  • Shape refactoring, e.g. sine :: Int -> Shape => sine :: Int -> [Primitive]
    • Circle
    • Ellipse
    • Rectangle
    • Sine
  • 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

1.1.2 Ideas

  • layout
    • Table
    • SpaceHorizontal
    • SpaceVertical

1.2 Simplified Haskell homepage

A simplified Haskell frontpage

Why?