[toronto-lisp] October meeting minutes
Doug
doug at hcsw.org
Sat Oct 9 01:19:58 UTC 2010
Vish: Thanks for writing up the minutes.
On 10-10-07 11:54 PM, Vish Singh wrote:
> - Doug talked about the state machine compiler he's using (I think it
> was http://www.complang.org/ragel/)
> - compiles to C code
> - he uses it to build state machines for parsing HTTP streams
>
Yes that is it. Ragel is awesome.
In a project I'm working on I use Ragel a lot. My project doesn't have a
parser for HTTP per se but it has one for /\r?\n\r?\n/ which is all you need
for an HTTP 1.0 message terminator:
machine http10_message;
...
main := (
extend* $inc_count
('\r'? '\n' '\r'? '\n') @found_separator
);
HTTP is only one of the message formats it parses.
I also like using Ragel for parsing command line arguments and such.
> - Alex described how shared-memory concurrency can be implemented
> using in-memory databases
> - Antiweb uses Berkeley DB in a similar way
>
http://hoytech.com/transactional-programming.html
Doug
More information about the toronto-lisp
mailing list