[Haskell-cafe] Re: Combinators for Bi-Directional Tree
Transformations: A Linguistic Approach to the View Update Problem
" in Haskell
Pasqualino 'Titto' Assini
tittoassini at gmail.com
Fri Jul 6 17:52:44 EDT 2007
Hello Benjamin, many thanks for you answer.
On Friday 06 July 2007 20:43:03 Benjamin Pierce wrote:
> Hi Titto,
>
> I'm not aware of any Haskell implementations of these bi-directional
> combinators, but the core definitions are not very big -- someone
> looking at the ML code should have no trouble recreating them in
> Haskell. The main issue to take care of, beyond the mathematical
> description in the paper, is doing enough memoization of intermediate
> structures.
I am working on a Web application with an Ajax front-end and I am "shopping
around" for a suitable query language.
Updatable views sounds like a good choice, that might be used both for access
control and external query/updates.
If I understand correctly the mechanism (I just found out about harmony
today), queries could be implemented as the "get" of a composition of an
access_control _read lens plus the end user query and updates would be
the "putback" of the composition of an access_control_write lens with the end
user query.
I wonder however how hard would it be to get it to work efficiently on what
might be quite extensive data structure and how hard it would be to map
arbitrary Haskell data structure to the tree structures on which the
combinators are defined (or alternatively, if it would be possible at all to
define similar combinators direcly on haskell data types).
> (Implementing a full-blown programming language based on these
> combinators is a more serious project, but even there the amount of
> code is not that large -- it's the design that takes time, and that
> you can just steal. :-)
Just a curiosity: why bothering to define a new language?
What is the advantage with respect to simply providing the combinators as an
O'Caml library?
> Regards,
>
> - Benjamin
Regards,
titto
> P.S. Please cc me directly on any responses -- I don't read the
> HaskellCafe list regularly...
More information about the Haskell-Cafe
mailing list