Difference between revisions of "User:Lenny222"
Jump to navigation
Jump to search
(→Todo) |
(focusing on real world technolgies for the moment) |
||
(33 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [http://www.cardus.com/sticky.php?year=7 ] |
||
− | == Things i think need improvement == |
||
− | |||
− | * [[Diagrams]] |
||
− | * [[GHC/Error messages|GHC error messages]] |
||
− | * [[Cookbook|Haskell Cookbook]] |
||
− | * [[User:Lenny222/Haskell explained to the busy|Haskell explained to the busy]] |
||
− | * [[Mac OS X]] |
||
− | |||
− | === Chlor === |
||
− | |||
− | * [http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/haskell/Chlor/ Haskell SVN] |
||
− | * [http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/src/core/ Objective-C SVN] |
||
− | |||
− | * [http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/ lib2geom] |
||
− | |||
− | * http://pyx.sourceforge.net/examples/drawing2/parallel.html |
||
− | ** http://pyx.svn.sourceforge.net/viewvc/pyx/trunk/pyx/pyx/ |
||
− | |||
− | |||
− | ==== 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 |
||
− | <haskell> |
||
− | data SvgUnit = |
||
− | UnitCM |
||
− | | UnitEM |
||
− | | UnitEX |
||
− | | UnitIN |
||
− | | UnitMM |
||
− | | UnitPC |
||
− | | UnitPT |
||
− | | UnitPX |
||
− | | UnitPercent |
||
− | deriving(Eq, Show) |
||
− | </haskell> |
||
− | *** defaultUnit |
||
− | ** <haskell>data Length = Length Unit Double deriving(Eq, Show)</haskell> |
||
− | |||
− | |||
− | * new Shapes |
||
− | ** regularPolygon :: -- ^ n, startAngle, radius, box |
||
− | ** star :: -- ^ n, startAngle, radius1, radius2, box |
||
− | |||
− | * Path |
||
− | ** ArcTo: http://chlor.svn.sourceforge.net/viewvc/chlor/trunk/src/core/CPath.m?revision=561&view=markup |
||
− | *** http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes |
||
− | *** http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/src/2geom/elliptical-arc.h |
||
− | *** http://lib2geom.svn.sourceforge.net/viewvc/lib2geom/lib2geom/trunk/src/2geom/elliptical-arc.cpp |
||
− | |||
− | * 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? |
||
− | |||
− | * 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 |
||
− | ** http://www.jroller.com/aalmiray/entry/jsilhouette_0_3_released |
||
− | *** http://code.google.com/p/jsilhouette/ |
||
− | ** Spiral |
||
− | ** http://local.wasp.uwa.edu.au/~pbourke/geometry/supershape/ |
||
− | |||
− | * SVG export |
||
− | ** SvgPath |
||
− | *** <pre><path d="M 100 100 L 300 100 L 200 300 z" fill="red" stroke="blue" stroke-width="3" /></pre> |
||
− | ** SvgRectangle |
||
− | ***<pre><rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" /> |
||
− | </pre> |
||
− | |||
− | * ObjectLike: DList instead of List? |
||
− | |||
− | * SVG XML generation |
||
− | ** HStringTemplate? |
||
− | ** HXT? |
||
− | ** HaXml? |
||
− | |||
− | * [http://hackage.haskell.org/package/colour colour] |
||
− | |||
− | * 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 |
||
− | |||
− | * Path |
||
− | ** approximate :: Double -> [(Double, Double)] -> [Segment] -- ^ error, points |
||
− | *** http://tog.acm.org/resources/GraphicsGems/gems/FitCurves.c |
||
− | |||
− | ==== Ideas ==== |
||
− | |||
− | * layout |
||
− | ** Table |
||
− | ** SpaceHorizontal |
||
− | ** SpaceVertical |
||
− | |||
− | * 3d projection |
||
− | ** [http://en.wikipedia.org/wiki/3D_projection 3d projection] |
||
− | * diagrams |
||
− | ** histograms, density plots |
||
− | * export |
||
− | ** SVG |
||
− | ** PDF |
||
− | ** Illustrator JavaScript |
||
− | ** Processing |
||
− | ** SWF |
||
− | ** TikZ/LaTeX |
||
− | * import |
||
− | ** SVG |
||
− | ** PDF |
||
− | * path operations |
||
− | ** boolean operations |
||
− | ** offset path |
||
− | ** http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/src/live_effects/ |
||
− | * recursive programming |
||
− | ** [http://www.typeer.de/thema/Context-Free-Art---Simple-Schoenheit/ ContextFree] |
||
− | |||
− | === Simplified Haskell homepage === |
||
− | |||
− | [[User:Lenny222/Haskell|A simplified Haskell frontpage]] |
||
− | |||
− | Why? |
||
− | |||
− | * to [http://www.useit.com/alertbox/ia-mistakes.html add a structure] |
||
− | * to [http://www.useit.com/alertbox/20020609.html reduce redundancy] |
||
− | * to make scanning easier: |
||
− | ** [http://www.useit.com/alertbox/whyscanning.html why scanning] |
||
− | ** [http://www.useit.com/alertbox/nanocontent.html first two words] |