These are chat archives for libmir/public

11th
Oct 2016
Plus betterC mode and GDC support
Guillaume Piolat
@p0nce
Oct 11 2016 15:35
Hi Ilya I was thinking of maybe making it a separate DUB library respecting SemVer (I'm searching for a good package name: drift ? dissident? droot? dismay? nogc? world-of-nogc?). In all cases it is BSL like Phobos so you just have to take the parts Mir needs. Some part of dplug:core you definately don't need like TimedFIFO or math functions. I have a question, what is the new nothrow @nogc runtime? I would need something like this too.
1) Why assumeNothrowNoGC is used for posix calls? Answer = because such calls are not annotated with @nogc in some cases (OSX) mostly but this is harmless. The thing that can be harmful is with destroy(), it forces it to be @nogc.
Ilya
@9il
Oct 11 2016 15:37
I think it should be separate packages. The names can be just thread and sync, the same way like https://github.com/libmir/cpuid.
I am working on new nothrow @nogc runtime proposal. Will share it after 2 weeks
Guillaume Piolat
@p0nce
Oct 11 2016 15:44
This wouldn't be well separated because of dependencies. Eg: thread-pool need semaphores, mutex, locked queue, mallocEmplace/destroyFree (very useful) so it's a bit intertwined. I can make something minimal and useful with:
nogc.d (parts of it), ringbuf.d (without timedFIFO), thread.d, unchecked_sync (all) and you might be interested in fpcontrol.d too
At least that's what I recommend you take :)
But maybe it would better be a part of your new runtime proposal, since .destroy() not being @nogc is something to be addressed in druntime