digitalmars.D.announce - dflat - v0.1
- Nicholas Wilson (38/38) Jun 25 2019 After getting waylaid by jet lag, family, health, and debugging,
After getting waylaid by jet lag, family, health, and debugging,
I'm happy to finally announce v0.1 of dflat, a wrapping
boilerplate needed to drive the CoreCLR (cross platform .Net
implementation).
This release features:
* cross platform support by using Mono.Cecil
* the ability to call instance methods on classes
* simplified API - no need to use classes with auto-implement
The code is still very early (and liable to break) but it should
be useable:
public class Class1
{
int a;
public Class1(int aa) { a = aa; }
public void foo() { a = 42; }
public override string ToString() { return a.ToString(); }
}
```
```d
auto a = Class1.make(314);
a.toString().fromStringz.writeln; // 314
a.foo();
a.toString().fromStringz.writeln; // 42
references unpinned manually to avoid leaking
```
It probably easiest to build it with `dub test --
/path/tocsharpcompiler/ /path/to/cecil/bin/
/path/to/derelict-util/source [dmd|ldc2...]`, until I figure out
runtimeconfig.json
Please don't hesitate to file bug reports or feature requests!
This work has been sponsored by Symmetry Investments.
https://github.com/thewilsonator/dflat/
https://github.com/thewilsonator/dflat/releases/tag/v0.1-alpha1
(best to use master though)
Jun 25 2019








Nicholas Wilson <iamthewilsonator hotmail.com>