Skip to content

BetterC for Mir

Ilya Yaroshenko edited this page Mar 6, 2017 · 1 revision
  1. There are two kinds of betterC libraries
  • Precompiled betterC library with extern(C) ABI and optionally D ABI. Good practice is to add C headers. Example: https://github.com/tamediadigital/hll-d.
  • Generic betterC library that can be used to write precompiled betterC libraries. Example: mir-algorithm.
  1. No DRuntime linking dependencies
  • No GC
  • No classes
  • No core.thread, low level mir-thread should be created instead
  • No core.math / std.math, mir-math can be used instead.
  • No core.cpuid, mir-cpuid can be used instead.
  • No module constructors, destructors. extern(C) functions can be used instead.
  • No shared, __gshared can be used instead.
  • No std.random, mir-random can be used instead.
  • No std.algorithm, std.range and many other Phobos modules. mir-* libraries can be used instead.
  • No std.experimental.allocator, we need to fork it!
  • No one line array operations, mir.ndslice.algorithm can be used instead.
  1. Approved Phobos modules
  • std.traits (100%)
  • std.meta (95%)
Clone this wiki locally