Hacker News new | past | comments | ask | show | jobs | submit login

It's not really written in Common Lisp.

"built on top of libev"

The lisp part is a thin ffi wrapper on top of lots of C code.

Not than an ffi wrapper around C code isn't useful, but it's C code that does all the heavy lifting there.




And libev is a C wrapper around epoll and other system calls. There's not much code needed to use epoll directly, that's what John Fremlin's TPD2 web server (the previous "world's fastest Common Lisp web server") did:

https://github.com/vii/teepeedee2/blob/master/src/io/epoll.l...

What libev provides is a very portable wrapper around all the different non-blocking IO system calls in all the different Unixes. That's the hard part.


Also note that HTTP parsing is done completely in Common Lisp, not in C. Woo uses fast-http, which is by the same author.

https://github.com/fukamachi/fast-http


Indeed, Node.js is a thin FFI wrapper on top of lots of C (and C++) code that does all the heavy lifting, but it is still useful. I think Woo is useful the same way.


the title implies "the heavy lifting" is written in LISP.

Every node user knows the net lib nodejs uses isnt written in javascript.And most also know that in order for node to be useful,scripts should do as little as possible and delegate any serious operation to C/C++.


>the title implies "the heavy lifting" is written in LISP.

Woo uses fast-http[0], quri[1], and http-body[2], all written in pure Common Lisp and very, very fast.

[0]: https://github.com/fukamachi/fast-http

[1]: https://github.com/fukamachi/quri

[2]: https://github.com/fukamachi/http-body




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: