[racket] racket and libcURL

From: Ray Racine (ray.racine at gmail.com)
Date: Wed Mar 21 18:57:22 EDT 2012

On Wed, Mar 21, 2012 at 5:50 PM, John Clements <clements at brinckerhoff.org>wrote:

> Wait… don't Racket's built-in libraries already handle all of those cases?
> This is not a rhetorical question: I'm perfectly happy to be wrong, here,
> but it looks like I can use get-pure-port or post-pure-port to handle
> these. I guess I assumed that the original poster wanted something that
> Racket didn't already include, but I could be wrong:

I'm unaware of any specific capability my http client has over standard one
included in the Racket library.  In fact I use the out of the box Racket
SSL support.  If there are differences,  I'm sure the gaps will be in my
library.  From a non-functional perspective my HTTPClient is 100%
Typed/Racket but that is of little matter.

To be honest I think I did run into a  small, but specific HTTP/1.1 gap in
the Racket standard library long back, but I can't recall it and odds are
it's there now.

So how did it happen ....

Originally the library was written on Larceny using R6RS modules and R6RS
standard libraries and had some low level hooks into Larceny threading.
 For example, I added epoll() and non-blocking to Larceny + HTTPClient
years ago.   At one point I decided to migrate the project from Larceny to
Racket[1] and after a bit of a think decided to port the HTTPClient library
rather then re-write the project to the Racket standard http client.  One
need included the ability to have a super tiny minimal HTTP server
capability for things like OAuth call backs in a Racket App, so I ended up
porting the whole thing.

[1]Please note there was no particular failing with Larceny other then
64-bit support.  I still think Larceny is a fantastic Scheme implementation
which is very much under appreciated within the general user community.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120321/1bac11b3/attachment.html>

Posted on the users mailing list.