**** BEGIN LOGGING AT Mon Aug 20 03:00:00 2018 Aug 20 08:59:52 gm Aug 20 09:27:24 hi Aug 20 15:52:19 this is fascinating code... https://bearssl.org/gitweb/?p=BearSSL;a=blob;f=src/x509/x509_decoder.t0 Aug 20 15:52:27 it seems to be some unholy mix of C and Forth Aug 20 15:53:34 is the forth generating c? I've never seen this Aug 20 15:55:00 if you look the source for APL-family compilers, they tend to be just as unholy: https://github.com/kevinlawler/kona/tree/master/src Aug 20 15:59:08 it looks like the forth-code is compiled into a state machine to allow its execution to be suspended and resumed Aug 20 16:00:02 e.g. when more input data is required Aug 20 16:02:18 https://bearssl.org/gitweb/?p=BearSSL;a=blob;f=src/x509/asn1.t0#l160 when no data is available, "co" breaks out of the interpreter to allow the program to return to the main event loop, and later continue with the parser when more data is available Aug 20 16:02:24 this is neat Aug 20 16:06:49 so this can incrementally parse large structures as they're being received, with very low memory usage Aug 20 16:07:15 so a coroutine? Aug 20 16:07:16 while the parser code in forth is written as if it's simply a synchronous blocking parser Aug 20 16:07:20 yeah, hence "co" Aug 20 16:18:15 I haven't come across any other forth in that code base. is it there just for that one piece of functionality? Aug 20 16:19:55 here's the author's explanation: https://news.ycombinator.com/item?id=12864152 Aug 20 16:20:00 there are 8 *.t0 files Aug 20 16:20:53 yep, exactly what I said Aug 20 16:21:52 I like the idea. I've seen some pure-c coroutine implementations, but nothing I'd want to use Aug 20 17:58:09 So I have this relay board.. https://beagleboard.org/static/images/capes/250px/BeagleBoneRelayCapeA2_Top.png Aug 20 17:58:21 But can't find a lick of documentation on it. Any pointers? Aug 20 17:59:43 Even though I bought it through Mouser, here, https://www.mouser.com/ProductDetail/beagleboard/rlycpe-bbbcape/?qs=lYGu3FyN48cRDyGlTDwMMA%3d%3d , now the product is showing a different relay board. Aug 20 18:04:58 maybe they redesigned it? Aug 20 18:05:10 they helpfully don't list a revision Aug 20 18:06:59 or the Aug 20 18:07:05 or mouser just has a wrong image Aug 20 18:07:32 GHI's own site shows the same images as beagleboard.org does Aug 20 18:09:02 yep, that image is a cape that isn't even manufactured by GHI => https://elinux.org/BeagleBone_Dual_Relay_Plus_IO **** ENDING LOGGING AT Mon Aug 20 18:09:38 2018 **** BEGIN LOGGING AT Mon Aug 27 01:24:03 2018 **** ENDING LOGGING AT Mon Aug 27 03:00:00 2018