IRC channel logs

2026-02-06.log

back to list of logs

<lechner>mwette / Hi, why was it necessary to filter out this CPP value, please? https://github.com/mwette/nyacc/blob/1f16ef81884af47f693c49da608328d71a0bd894/module/nyacc/lang/c99/ffi-help.scm#L1421
<mwette>lechner: been a while since I used darwin, so not sure, but could be to avoid the oddball darwin extensions to C (closures maybe?); it it works without that filter, file an issue and I can remove.
<mwette>AI says: `Apple introduced "blocks" as a non-standard extension for C, C++, and Objective-C, available in Clang and GCC, which function as true closures and handle memory management of the captured variables (often using reference counting).'
<mwette>nyacc's C parser does not parse blocks
<old>The poor man closure
<civodul>ACTION is a fan of GNU nested functions
<civodul>ACTION rarely writes C these days, though
<old>the sad thing about GNU nested functions is they can only be called when their containing function is still on the stack
<old>useful for capturing state in a chain of callback without ahving to pass the state along the callback ; a semi-closure!
<dsmith>I've found them to be flakey on some arches. Specifically, for a microblaze (which was implemented in an fpga)