[Haskell-cafe] Re: Anyone up for Google SoC 2010?
nominolo at googlemail.com
Fri Mar 5 12:20:26 EST 2010
If it uses only one type for elements and perhaps another for
attributes, Uniplate should fit any traversal needs perfectly. E.g.,
listToMaybe [ e | e <- universe doc, elemID e == target_id ]
or similar. This is doing essentially a depth-first search, so if
this is a common operation, you'd need some further optimisation, but
then I'm not convinced "raw" HTML is a good internal representation
On 5 March 2010 16:20, Achim Schneider <barsoap at web.de> wrote:
> Johan Tibell <johan.tibell at gmail.com> wrote:
>> On Fri, Mar 5, 2010 at 3:46 PM, Achim Schneider <barsoap at web.de>
>> > Johan Tibell <johan.tibell at gmail.com> wrote:
>> > > = A high-performance HTML combinator library using Data.Text =
>> > >
>> > May I add
>> > * Conceptual compatiblity with the W3C DOM. The library shoud be
>> > designed in a way that allows a thin / automatically generated
>> > wrapping layer to support DOM operations, where applicable.
>> > ?
>> > It is a "keep that in mind", not absolute, requirement.
>> I'm not quite sure I understand what you have in mind. Do you mean
>> that given a value of type Html you can e.g. query by ID to find
> The overall idea is that if we chose to write a browser in Haskell,
> which will come with an ECMAscript implementation in Haskell, it'd be
> nice if that HTML library could be developed into something that can be
> used as internal DOM representation (and messed with from the
> ECMAscript side) without breaking the already existing Haskell
> Also, web developers that know DOM inside out shouldn't be alienated by
> Haskell doing things in a way that isn't compatible with their
> intuition about how DOM/HTML works.
> That is, the library should show potential to be queryable (with some
> generics library) with the same semantics as DOM, meaning that the
> information necessary to do that should be present.
> ...I don't mean that the library as implemented for the SoC must
> support such queries, but that e.g. a (to be written) library with the
> same haskell combinators that spews out an ADT instead of a string
> should be.
> (c) this sig last receiving data processing entity. Inspect headers
> for copyright history. All rights reserved. Copying, hiring, renting,
> performance and/or quoting of this signature prohibited.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
Push the envelope. Watch it bend.
More information about the Haskell-Cafe