
Hello Haskell Cafe I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated. Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi I would like to say thanks to the haskell-beginners contributors, the author of "Learn you a Haskell" and the author of the parsec library all of which were very helpful. Regards Keith

This is crazy cool!
I will now use your project as an example of what one can do as his
first project in Haskell; I think doing SQL on CSV files definitely
counts as a huge success story!
2009/5/17 Keith Sheppard
Hello Haskell Cafe
I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated.
Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi
I would like to say thanks to the haskell-beginners contributors, the author of "Learn you a Haskell" and the author of the parsec library all of which were very helpful.
Regards Keith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru

Keith Sheppard wrote:
I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated.
Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi
Nice! Have you considered putting this on Hackage? That is most useful for users of your code. I saw you already cabalized the code, so it should suffice to upload it. Cheers -- Jochem Berndsen | jochem@functor.nl GPG: 0xE6FABFAB

Thanks! Good advice, I will do that.
On Sun, May 17, 2009 at 11:49 AM, Jochem Berndsen
Keith Sheppard wrote:
I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated.
Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi
Nice! Have you considered putting this on Hackage? That is most useful for users of your code. I saw you already cabalized the code, so it should suffice to upload it.
Cheers
-- Jochem Berndsen | jochem@functor.nl GPG: 0xE6FABFAB

By the way: As I see from the sources, your code uses external sort?
But using String's much defeats the purpose of it, anyway, because
their performance is so bad that if you feed your program a file that
is larger than can be sorted in memory, sorting it externally using
String's will anyway take much more time then you are likely to be
comfortable waiting. You should consider switching to ByteString's,
and beware memory leaks.
2009/5/17 Keith Sheppard
Hello Haskell Cafe
I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated.
Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi
I would like to say thanks to the haskell-beginners contributors, the author of "Learn you a Haskell" and the author of the parsec library all of which were very helpful.
Regards Keith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru

Thanks for the encouraging reply! By the way, I was part way through
writing my own code for external sorting which I don't actually use
yet except from some test executable (joincol.hs). I'm very glad to
see that there is already a library that does this though, so in my
next version I will dump the custom code and use the external sort
package. Also I will look into making the switch to ByteStrings.
Thanks
Keith
On Sun, May 17, 2009 at 11:53 AM, Eugene Kirpichov
By the way: As I see from the sources, your code uses external sort? But using String's much defeats the purpose of it, anyway, because their performance is so bad that if you feed your program a file that is larger than can be sorted in memory, sorting it externally using String's will anyway take much more time then you are likely to be comfortable waiting. You should consider switching to ByteString's, and beware memory leaks.
2009/5/17 Keith Sheppard
: Hello Haskell Cafe
I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated.
Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi
I would like to say thanks to the haskell-beginners contributors, the author of "Learn you a Haskell" and the author of the parsec library all of which were very helpful.
Regards Keith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru

Hello,
I just released TxtSushi 0.2 with the following updates:
1) Improved type coercion. Some of the rules I was using before did
not make sense. At some point I will document what the rules are.
2) Added some extra functions/operators including a regex matcher.
Here is the full list: SUBSTRING, UPPER, LOWER, TRIM, *, /, +, -
(binary and unary), =, <> (not equal test), <, <=, >, >=, AND, OR, ||
(string concatination), =~ (regex matching)
I expect updates to be pretty frequent (at least pre-1.0) so in order
to avoid spamming you all with my announcements I'll just announce
major updates from now on and if you want to follow progress more
closely I'll post all updates to this feed.
http://blog.keithsheppard.name/feeds/posts/default/-/TxtSushi
Thanks,
Keith
On Sun, May 17, 2009 at 11:07 AM, Keith Sheppard
Hello Haskell Cafe
I have released the first version of TxtSushi which is a collection of command line utils (written in haskell of course) for processing tab-delimited and CSV files. It includes a util for doing SQL SELECTs on flat files. This is my first haskell project and feedback of all kinds is appreciated.
Home Page: http://www.keithsheppard.name/txt-sushi Darcs Repository: http://patch-tag.com/r/txt-sushi/home Issue Tracking: http://code.google.com/p/txt-sushi
I would like to say thanks to the haskell-beginners contributors, the author of "Learn you a Haskell" and the author of the parsec library all of which were very helpful.
Regards Keith
participants (3)
-
Eugene Kirpichov
-
Jochem Berndsen
-
Keith Sheppard