ANNOUNCE: curlhs-0.0.1, bindings to libcurl
Hello! I'm pleased to announce the first release of curlhs package (curlhs-0.0.1), a new Haskell bindings to libcurl, the multiprotocol file transfer library which powers popular curl tool. hackage: http://hackage.haskell.org/package/curlhs github: https://github.com/kkardzis/curlhs Package is distributed under ISC License (MIT/BSD-style, see LICENSE file for details). Current version of curlhs follows libcurl in version 7.25.0. It is also possible to use curlhs with older versions of libcurl, but some features may not be available then (curlhs should easily compile with libcurl from version 7.20.0 upward). Bindings are not complete, there is still a lot of work to do, but I think that for many simple tasks it's enough. The aim is to provide a mid-level interface to libcurl, which will be fairly complete and close to the original API. With this initial release I hope to gain some feedback from potential users. Any comments and suggestions are welcome. Greetings, Krzysztof Kardzis
On 14/04/2012, Krzysztof Kardzis <kkardzis@gmail.com> wrote:
Hello!
I'm pleased to announce the first release of curlhs package (curlhs-0.0.1), a new Haskell bindings to libcurl, the multiprotocol file transfer library which powers popular curl tool.
Just curious — why not curl? http://hackage.haskell.org/package/curl It seems to me much easier to use. Cheers, strake
2012/4/14 Strake <strake888@gmail.com>:
Just curious — why not curl? http://hackage.haskell.org/package/curl It seems to me much easier to use.
In regard to the 'easy of use', I think it is just the opposite (of course we talk about the module 'Network.Curlhs.Core', not 'Base' - this is another story). But my opinion is not important here, and for that reason I don't want to compare these two packages by myself. If you are satisfied with the curl package, just stay with it, I've no arguments to convince you or anyone. Neverthless, thanks for your opinion. Ok, why another bindings? There is no one big reason, only a few small ones. Overall, I think that these bindings could be done better, and I think that it will be easier to do that from scratch. If it succeeds, fine, if not... there is no such an option ;) Here is the first attempt. As I wrote earlier, I would like to create a mid-level interface to libcurl. The API should be fairly easy to use, fairly complete and close to the original. I would like to avoid too much interpretation of the libcurl's API (this could be done at the higher level). Thanks to that it will be possible among others to take advantage of the existing documentation, tutorials, examples etc. Greetings, Krzysztof Kardzis
On 16/04/2012, Krzysztof Kardzis <kkardzis@gmail.com> wrote:
In regard to the 'easy of use', I think it is just the opposite (of course we talk about the module 'Network.Curlhs.Core', not 'Base' - this is another story). But my opinion is not important here, and for that reason I don't want to compare these two packages by myself. If you are satisfied with the curl package, just stay with it, I've no arguments to convince you or anyone. Neverthless, thanks for your opinion.
Fair. I meant not to bash your work; I just wondered what property of old curl binds you found suboptimal.
Ok, why another bindings? There is no one big reason, only a few small ones. Overall, I think that these bindings could be done better, and I think that it will be easier to do that from scratch. If it succeeds, fine, if not... there is no such an option ;) Here is the first attempt.
As I wrote earlier, I would like to create a mid-level interface to libcurl. The API should be fairly easy to use, fairly complete and close to the original. I would like to avoid too much interpretation of the libcurl's API (this could be done at the higher level). Thanks to that it will be possible among others to take advantage of the existing documentation, tutorials, examples etc.
Ah. If I read that right, you mean that old curl binds are not true enough to the original curl interface. Cheers, strake
participants (2)
-
Krzysztof Kardzis -
Strake