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 <keithshep@gmail.com>:
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 <jochem@functor.nl> wrote:
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 <keithshep@gmail.com>:
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 <ekirpichov@gmail.com> wrote:
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 <keithshep@gmail.com>:
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 <keithshep@gmail.com> wrote:
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