Calypso
Calypso copied to clipboard
LDC fork to experiment direct interfacing with C++
```c++ // util.h void function(int a){} struct delegate{ int function=0; }; ``` ```d // main.d import _; // won't make clashing symbols available (unless maybe with awkward __traits wizardry) //import...
https://github.com/Syniurge/Calypso/issues/62#issuecomment-359299026 > This was for convenience when basics.d was turned into a lit test. what's a `lit test`? is that things like `// CHECK: xyz = 3, 9.81` in `tests/calypso/constexpr_ctor.d`...
``` //util.h: struct A3{ int a; // A3(){ printf("A3::A3\n"); } A3(int a):a(a){} }; struct A3Derived:public A3{ double a2; A3Derived(int a, double a2):A3(a),a2(a2){} }; // main.d: A3 a3d2=A3Derived(1,1.5); // Problem 1:...
these fail currently: static assert(A.init.b==10); // instead of 0 static assert(A.init.c==0); // instead of isNaN(A.init.c) see test case in: https://github.com/Syniurge/Calypso/blob/documentation/calypso_semantics.md#field-init
macros don't seemed to be mapped to D, despite what's said in https://wiki.dlang.org/Calypso: `Constant and empty preprocessor macros (mapped to enums)`. Other tools support macros (eg: swig, dstep etc) test.h:...
this would allow client code to tell where a declaration came from, etc (and could be itself used in documentation generators to make use of these UDA's) EDIT: we could...
this could be useful for debugging purposes, or for interfacing with non-modmap-aware compilers
> It is designed so that when the day comes splitting Calypso from LDC will be easy and Calypso could then exist as a LDC plugin in the form of...
to reproduce: ``` mkdir temp && cd temp $ldc2 -cpp-verbosediags -cpp-args -std=c++11 -run $git_clone_D/D/Calypso/tests/calypso/basics.d # ok cp $git_clone_D/D/Calypso/tests/calypso/basics.d . ldc2 -cpp-verbosediags -cpp-args -std=c++11 -cpp-args -I$git_clone_D/D/Calypso/tests/calypso -run basics.d Calypso/tests/calypso/basics.cpp:6:8: error: redefinition...
I am working on reproducible builds for [LDC](https://github.com/ldc-developers/ldc) and you project as well using the [Nix](https://www.nixos.org/nix) package manager. I have `ldc` working fine however I am stuck on an issue...