Re: [Haskell-cafe] Shake, Shelly, FilePath

2013-03-09 Thread Greg Weber
Shelly is using system-filepath which was created as an improvement over
using a simple String. For a build system in which you name all your files
you may not care about the upside.
If you want a version of Shelly that uses String you can try Shellish, its
predecessor. Otherwise the shim should be written for Shake to use
system-filepath.

Greg Weber
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Shake, Shelly, FilePath

2013-03-08 Thread Eli Frey
I began converting an unwieldy Makefile into a Haskell program via Shake,
hoping that I could increase both its readability and modularity.  The
modularity has increased greatly, and I have found it exhilarating how much
more I can express about my dependencies.  However, readability has
suffered.

I quickly found that heavy shell interaction became unwieldy and I came out
with code that was much more difficult to scan with my eyes then what I had
in my Makefile.

I attempted to fix this by using the Shelly library for my shell
interactions, and was well pleased until I attempted to compile and
discovered Shelly.FilePath is NOT Prelude.FilePath.  Now I am left
sprinkling coercions all over the place and am again shaking my head at how
difficult to scan my code has become.

I have been considering writing a shim over Shelly, but the prospect makes
me uneasy.

Has anyone else walked down this path before, and if so what did you bring
away from the experience?  I find this situation such a shame, as all my
other experiences with both libraries have been quite wonderful.

- Eli
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Shake, Shelly, FilePath

2013-03-08 Thread Ivan Lazar Miljenovic
On 9 March 2013 11:31, Eli Frey eli.lee.f...@gmail.com wrote:
 I began converting an unwieldy Makefile into a Haskell program via Shake,
 hoping that I could increase both its readability and modularity.  The
 modularity has increased greatly, and I have found it exhilarating how much
 more I can express about my dependencies.  However, readability has
 suffered.

 I quickly found that heavy shell interaction became unwieldy and I came out
 with code that was much more difficult to scan with my eyes then what I had
 in my Makefile.

 I attempted to fix this by using the Shelly library for my shell
 interactions, and was well pleased until I attempted to compile and
 discovered Shelly.FilePath is NOT Prelude.FilePath.  Now I am left
 sprinkling coercions all over the place and am again shaking my head at how
 difficult to scan my code has become.

But it _is_ an instance of IsString, so can't you just use {-#
LANGUAGE OverloadedStrings #-} and thus get the behaviour you're after
(unless you need System.FilePath for something else)?


 I have been considering writing a shim over Shelly, but the prospect makes
 me uneasy.

 Has anyone else walked down this path before, and if so what did you bring
 away from the experience?  I find this situation such a shame, as all my
 other experiences with both libraries have been quite wonderful.

 - Eli

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe




-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
http://IvanMiljenovic.wordpress.com

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe