Difference between revisions of "User:Lenny222"
Jump to navigation
Jump to search
m (→Todo) |
m (→Todo) |
||
Line 27: | Line 27: | ||
* Datatypes |
* Datatypes |
||
− | ** Angle (degrees, grads, radians) |
||
** Unit |
** Unit |
||
<haskell> |
<haskell> |
||
− | data |
+ | data Unit = |
UnitCM |
UnitCM |
||
| UnitEM |
| UnitEM |
Revision as of 18:06, 11 January 2010
Things i think need improvement
Chlor
Todo
- Shape refactoring, e.g. sine :: Int -> Shape => sine :: Int -> [Primitive]
- Circle
- Ellipse
- Rectangle
- Sine
- 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
- "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:
- Pros:
- 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?
- "Path Bool [Segment]" isClosed flag instead of "Close" segment?
- Diagram
- Histogram http://had.co.nz/ggplot2/geom_histogram.html
- Pie (only for displaying fractions)
- Stairs http://had.co.nz/ggplot2/geom_step.html
- Shape
- 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" />
- SvgPath
- 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)
- Instances
- repeatedly
- use HLint
- use ghc -W
- AffineTransformation
- Path
- approximate :: Double -> [(Double, Double)] -> [Segment] -- ^ error, points
Ideas
- layout
- Table
- SpaceHorizontal
- SpaceVertical
- 3d projection
- diagrams
- histograms, density plots
- export
- SVG
- Illustrator JavaScript
- Processing
- SWF
- TikZ/LaTeX
- import
- SVG
- path operations
- boolean operations
- offset path
- http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/live_effects/
- recursive programming
Simplified Haskell homepage
A simplified Haskell frontpage
Why?
- to add a structure
- to reduce redundancy
- to make scanning easier: