Re: [Haskell-cafe] Navigating 'Strategic' programming babel

2012-12-17 Thread José Pedro Magalhães
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 ganeshsahn...@gmail.comwrote:

 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

2012-12-17 Thread Ravi Sahni
On Mon, Dec 17, 2012 at 4:06 PM, José Pedro Magalhães j...@cs.uu.nl 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

2012-12-17 Thread Stephen Tetley
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 ganeshsahn...@gmail.com 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

2012-12-17 Thread Jake McArthur
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 ganeshsahn...@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@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