Personal tools

User:Lenny222

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (Todo)
m (Todo)
Line 19: Line 19:
   
 
==== Todo ====
 
==== Todo ====
 
* Shape refactoring, e.g. sine :: Int -> Shape => sine :: Int -> [Primitive]
 
** Circle
 
** Ellipse
 
** Rectangle
 
** Sine
 
   
 
* Datatypes
 
* Datatypes

Revision as of 18:18, 11 January 2010

Contents

1 Things i think need improvement

1.1 Chlor


1.1.1 Todo

  • Datatypes
    • Unit
  data Unit =
          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?