On 6/3/17 10:30, Jakub Szewczyk wrote:
Mono runtime is a cross-platform, open-source alternative to Microsoft's
.NET framework , and it can be embedded in other applications as a
"scripting" VM, but with JIT-compilation enhanced performance and
support of many languages such as C#, F# or IronPython .
It provides a C API, so I've bound it to D as a Derelict-based project,
available at https://github.com/kubasz/derelict-mono, and as a DUB
package (http://code.dlang.org/packages/derelict-mono). It currently
wraps the Mono 5.0 API.
There's also a simple example of calling a C# main from D code, and C#
code calling a native function implemented in D.
PS: Because I don't own a Mac I have no idea what the correct paths to
the Mono shared library are, so it'd be great if someone could
post/create a PR of them.
I work with C# professionally and this is some SERIOUSLY cool work.
Thank you for this!
I've looked over the code a bit and I have a couple of questions.
This appears to be an interface to the runtime itself, not a BCL
It looks like this could be used to could this be used to read into a
Mono Class Libraries, and if so would so some sort of automated code
generation tool be required? It looks to me like the binding will be
non-trivial, with GC, exceptions, etc. that all need to be handled at
Can we get a static library version of this, or is there a dependency on
I have to admit I am very impressed. I have spent a lot of time building
code generators before and I have to admit that the idea of binding to
arbitrary .NET libraries via code generation is extremely appealing to
me. I am seriously tempted to take this and start building a binding
I seriously need more free time! Way too many cool and useful things
happening in D for my limited free time. A D binding for XAML ... THAT
would sight to behold!