HNHacker News
TopNewBestAskShowJobs

nikita_d

76 karma · joined August 25, 2022

submissionscomments
nikita_d··on Lightweight Static Initialization in C++
Initialization of block-level static objects without the synchronization overhead.
nikita_d··on [dead]
Datatypes are like analytic functions with Taylor series and all.
nikita_d··on Stackswap coroutines, neither stackful nor stackless
Stack buffers are allocated in the heap (by the "default" rr.c implementation of usched::s_alloc()). Allocating them on the stack, as you seem to be proposing, is a really clever idea: you can do something like rr_thread_init(&startfunc, arg, alloca(BUFFERSIZE)). The buffer is freed when the coroutine is terminated (rr_done()).
nikita_d··on Stackswap coroutines, neither stackful nor stackless
I added the tables to the post.
nikita_d··on 3-Lisp: an infinite tower of meta-circular interpreters
A 3-lisp program is conceptually executed by an interpreter written in 3-lisp that is itself executed by an interpreter written in 3-lisp and so on ad infinitum. This forms an infinite tower of meta-circular interpreters, which can be implemented efficiently.