[Haskell-cafe] Navigating 'Strategic' programming babel
Clearly Haskell has great possibilities in the field of language-processing. And the nuisances associated with little actual computation buried under much data-structure navigation are well addressed by 'strategic-programming' systems. But now comes the rub -- there seem to be a lot of very similar systems. Any guidance on which/what/how to choose? My own current sketchy-patchy knowledge is as below. I would appreciate links/pointers to more substansive literature. First there was Meertens and his folks working on generic haskell Did that later become template haskell? That branched out into strafunski, stratego/xt. SYB is ___ not sure here: some literature suggests that its identical to strafunski. Some suggests that it is strafunski done more within the haskell language rather than in libraries. Then there's uniplate. How does it compare to SYB? Or is that a confused comparison? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Navigating 'Strategic' programming babel
Hi Ravi, You might want to browse through "Comparing Libraries for Generic Programming in Haskell": http://www.cs.uu.nl/research/techreps/repo/CS-2008/2008-010.pdf SYB and Uniplate are two widely used and well-maintained systems for strategic traversals over arbitrary datatypes. There are other options, too, but it depends on exactly what you want to do. Cheers, Pedro On Mon, Dec 17, 2012 at 11:30 AM, Ravi Sahni wrote: > Clearly Haskell has great possibilities in the field of > language-processing. And the nuisances associated with little actual > computation buried under much data-structure navigation are well addressed > by 'strategic-programming' systems. > > But now comes the rub -- there seem to be a lot of very similar systems. > > Any guidance on which/what/how to choose? > > My own current sketchy-patchy knowledge is as below. I would appreciate > links/pointers to more substansive literature. > > First there was Meertens and his folks working on generic haskell > Did that later become template haskell? > > That branched out into strafunski, stratego/xt. > > SYB is ___ not sure here: some literature suggests that its identical to > strafunski. Some suggests that it is strafunski done more within the > haskell language rather than in libraries. > > Then there's uniplate. How does it compare to SYB? Or is that a confused > comparison? > > > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Navigating 'Strategic' programming babel
On Mon, Dec 17, 2012 at 4:06 PM, José Pedro Magalhães wrote: > Hi Ravi, > > You might want to browse through "Comparing Libraries for Generic > Programming in Haskell": > http://www.cs.uu.nl/research/techreps/repo/CS-2008/2008-010.pdf > > SYB and Uniplate are two widely used and well-maintained systems for > strategic traversals over arbitrary datatypes. There are other options, > too, but it depends on exactly what you want to do. > My interest is language processing for which stratego, strafunski, UUAG etc are specially tailor-made. Yes Ive read the 'comparing libraries' paper in which it says that strafunski and SYB approaches are so similar that strafunski is subsumed under SYB for the purposes of that paper. However it seems that the strafunski-ecosystem being integrated with aterm etc, likewise stratego, are more suited to full-scale language processing. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Navigating 'Strategic' programming babel
Strafunski is now rather out of date - it was developed before Cabal and used a custom install depending whether or not you wanted to use the DriFt preprocessor. Andy Gill has a "modern" re-implementation of Strafuski on Hackage called KURE. Aside from SYB, Neil Mitchell's Uniplate is popular and generally well documented. On 17 December 2012 11:12, Ravi Sahni wrote: > However it seems that the strafunski-ecosystem being integrated with aterm > etc, likewise stratego, are more suited to full-scale language processing. > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Navigating 'Strategic' programming babel
I won't compare and contrast all these, but I want to point out that there is a nicer version of uniplate in the lens package. On Dec 17, 2012 5:31 AM, "Ravi Sahni" wrote: > Clearly Haskell has great possibilities in the field of > language-processing. And the nuisances associated with little actual > computation buried under much data-structure navigation are well addressed > by 'strategic-programming' systems. > > But now comes the rub -- there seem to be a lot of very similar systems. > > Any guidance on which/what/how to choose? > > My own current sketchy-patchy knowledge is as below. I would appreciate > links/pointers to more substansive literature. > > First there was Meertens and his folks working on generic haskell > Did that later become template haskell? > > That branched out into strafunski, stratego/xt. > > SYB is ___ not sure here: some literature suggests that its identical to > strafunski. Some suggests that it is strafunski done more within the > haskell language rather than in libraries. > > Then there's uniplate. How does it compare to SYB? Or is that a confused > comparison? > > > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe