[Haskell-beginners] [OT] Haskell-inspired functions for BASH
Tommy M. McGuire
mcguire at crsr.net
Thu Feb 18 11:46:27 EST 2010
Patrick LeBoutillier wrote:
> Hi all,
>
> I've been studying Haskell for about a year now, and I've really come
> to like it. In my daily work I write a lot of BASH shell scripts and I
> thought I'd try add some of the haskell features and constructs to
> BASH to make my scripting life a bit easier. So I've been working on a
> small BASH function library that implements some basic functional
> programming building blocks.
>
> Note: There is no actual Haskell code involved here.
>
> All this is very prototypical, but here is an example of some of the
> stuff I've got so far (map, filter, foldr):
>
> $ ls data
> 1.txt 2.txt
>
> # basic map, argument goes on the command line
> $ ls -d data/* | map basename
> 1.txt
> 2.txt
>
> # map with lambda expression
> $ ls -d data/* | map '\f -> basename $f .txt'
> 1
> 2
>
> # simple filter, also works with lambda
> $ ls -d data/* | map basename | filter 'test 1.txt ='
> 1.txt
>
> # sum
> $ ls -d data/* | map '\f -> basename $f .txt' | foldr '\x acc -> echo
> $(($x + $acc))' 0
> 3
>
>
> Before I continue with this project, I'm looking for a bit of feedback/info:
> - Does anyone know if there are already similar projets out there?
Once upon a time, there was the es shell, based on the Unix version of Tom
Duff's Plan 9 rc shell, IIRC. It was intended to provide a functional language
for shell programming. Never caught on at all, as far as I know, but it might
be interesting.
http://192.220.96.201/es/es-usenix-winter93.html
Looks like there is a Google project for it:
http://code.google.com/p/es-shell/
> - Does anyone find this interesting?
Yep. :-) Looks pretty cool to me.
> - Any other comment/suggestion/feedback
--
Tommy M. McGuire
mcguire at crsr.net
More information about the Beginners
mailing list