Ravi Sahni | 17 Dec 11:30 2012
Picon

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 <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
José Pedro Magalhães | 17 Dec 11:36 2012
Picon

Re: 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 <ganeshsahni07 <at> gmail.com> 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 <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Jake McArthur | 17 Dec 23:19 2012
Picon

Re: 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" <ganeshsahni07 <at> gmail.com> 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 <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Gmane