Greg,
This sounds interesting... but I'd like to see what the Scala code would
look like that would manipulate the Zipper-based data structures.  If you've
got a pile of XML, what does it look like to map it to nested [case]
classes?  What does it look like to manipulate the XML?

Thanks,

David

On Fri, Jul 17, 2009 at 10:54 AM, Meredith Gregory <lgreg.mered...@gmail.com
> wrote:

> Guys,
>
> After playing around with integrating Lift and Jersey before the Jersey
> guys did an 'official' integration and thinking hard about how i wanted to
> reference locations in data structures via URLs, i realized that 
> zipper<http://en.wikipedia.org/wiki/Zipper_%28data_structure%29>(cf. this
> explanation <http://www.haskell.org/haskellwiki/Zipper>) is a much better,
> much more functional, generic and maintainable solution.
>
> Briefly, the way this works is to automate the calculation of a context
> type, C(T), from a data type T. The context type will allow for the
> representation of locations in an instance of T in terms of contexts and
> holes. There's a natural way to get from contexts to paths. So, there's a
> natural map from URLs (viewed as paths) to locations. One great example of
> how this works in practice is Oleg Kiselyov's Zipper-based file system. The
> analogy between paths to files and URLs to resources should be clear.
>
> This has led me to look at where to cut the line on calculating zippers. As
> the wikipedia article mentions above, it is possible do this completely
> generically, provided one has a notion of differentiation on data
> structures; that is, the zipper can be expressed in terms of the derivative
> of a data structure. There are two natural (and somewhat competing) places
> to hang the differentiation calculation:
>
>    - the new collections library for scala
>    - the target of a mapping from one of the XML schema proposals to scala
>    types
>
> Jorge and i were chatting about this the other day. Either route is a bit
> of a large task and i've got a bunch of other stuff on my plate right now.
> However, i'd be very happy to collaborate with anyone who wants to make this
> happen. Also, by the way, this works really well with a lot of other
> monadically based machinery.
>
> Best wishes,
>
> --greg
>
>
> On Fri, Jul 17, 2009 at 8:17 AM, TylerWeir <tyler.w...@gmail.com> wrote:
>
>>
>> >>Wait a few days, and I think there'll be some very good news on this
>> front.
>>
>> Tease! :)
>>
>> On Jul 17, 10:51 am, David Pollak <feeder.of.the.be...@gmail.com>
>> wrote:
>> > There are benefits to both approaches.  I prefer the partial function
>> > composition, but annotations on Pojos have their place.
>> > Wait a few days, and I think there'll be some very good news on this
>> front.
>> >
>> > On Fri, Jul 17, 2009 at 7:28 AM, Timothy Perrett
>> <timo...@getintheloop.eu>wrote:
>> >
>> >
>> >
>> >
>> >
>> > > Hey guys,
>> >
>> > > I've been taking a look at Jersey and how it operates with Lift by way
>> > > of the recent integration that cropped up on dev.java.net...
>> >
>> > > From my perspective, I see how having a standard RS service framework
>> > > could be helpful, but it appears to bypass important lift concepts
>> > > like SiteMap etc so I'm just wondering what the benefit of using such
>> > > a layer would be over using DispatchPF etc to create REST services or
>> > > serving xml fragments for templates? (I have no idea about Jersey
>> > > apart from the basic docs ive read, so if im missing a major benefit
>> > > id love to hear discuss)
>> >
>> > > Cheers for any thoughts
>> >
>> > > Tim
>> >
>> > --
>> > Lift, the simply functional web frameworkhttp://liftweb.net
>> > Beginning Scalahttp://www.apress.com/book/view/1430219890
>> > Follow me:http://twitter.com/dpp
>> > Git some:http://github.com/dpp
>> >>
>>
>
>
> --
> L.G. Meredith
> Managing Partner
> Biosimilarity LLC
> 1219 NW 83rd St
> Seattle, WA 98117
>
> +1 206.650.3740
>
> http://biosimilarity.blogspot.com
>



-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to