Changes between Initial Version and Version 1 of Ticket #1580


Ignore:
Timestamp:
Mar 13, 2010 8:15:48 AM (5 years ago)
Author:
tibbe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1580 – Description

    initial v1  
    55    * Correctness: Incorrectly created HTML can result in anything from incorrect rendering (in the best case) to XSS attacks (in the worst case).
    66
    7     * Composability: Being able to create small widgets and reuse them on several pages fosters consistency in the generated output and helps both correctness and reuse. (Formlets play a big roll here but being able to treat HTML fragments as values rather than as strings is important too.)
     7    * Composability: Being able to create small widgets and reuse them on several pages fosters consistency in the generated output and helps both correctness and reuse. (Being able to treat HTML fragments as values rather than as strings is important too.)
    88
    99Combinator libraries, like the [http://hackage.haskell.org/package/html html package] on Hackage, address the the last two criteria by making the generated HTML correct by construction and making HTML fragments first class values. Traditional templating systems generally have the first property, offering excellent performance, but lacks the other two.
    1010
    11 Task: Create a new HTML combinator library, based on the [http://hackage.haskell.org/package/html html package], that's blazingly fast, well tested and well documented. Also improve upon the `html` package's API by e.g. splitting the attribute related functions into their own module. The new library ought to use `Data.Text` instead of `String` as the base type for text.
     11= Project Goals =
    1212
    13 Tools: [http://hackage.haskell.org/package/quickcheck QuickCheck] for testing, [http://hackage.haskell.org/package/criterion Criterion] for benchmarking, and [http://hackage.haskell.org/package/haddock Haddock] for documenting.
     13Create a new HTML combinator library, based on the [http://hackage.haskell.org/package/html html package], that's blazingly fast, well tested and well documented. Also improve upon the `html` package's API by e.g. splitting the attribute related functions into their own module. The new library ought to use `Data.Text` instead of `String` as the base type for text.
     14
     15= Non-Goals =
     16
     17    * Using the very latest type system features to ensure well-formedness. This is not a research project; The goal is to create a production quality library using know techniques.
     18
     19    * Integrating with [hackage.haskell.org/package/formlets formlets].
     20
     21= Tools =
     22
     23    * [http://hackage.haskell.org/package/quickcheck QuickCheck] for testing,
     24    * [http://hackage.haskell.org/package/criterion Criterion] for benchmarking, and
     25    * [http://hackage.haskell.org/package/haddock Haddock] for documenting.
     26
     27= Interested Mentors =
     28
     29    * Johan Tibell