Jump to page: 1 25  
Page
Thread overview
Calypso and the future of D
Jan 23, 2015
H. S. Teoh
Jan 23, 2015
Dicebot
Jan 23, 2015
H. S. Teoh
Jan 23, 2015
Paul O'Neil
Jan 23, 2015
weaselcat
Jan 23, 2015
Jacob Carlborg
Jan 23, 2015
Max Klyga
Jan 23, 2015
Walter Bright
Jan 23, 2015
Dicebot
Jan 23, 2015
Abdulhaq
Jan 23, 2015
Walter Bright
Jan 23, 2015
Abdulhaq
Jan 23, 2015
Walter Bright
Jan 23, 2015
Abdulhaq
Jan 23, 2015
Jacob Carlborg
Jan 23, 2015
Jacob Carlborg
Jan 23, 2015
Elie Morisse
Jan 23, 2015
Jacob Carlborg
Jan 25, 2015
Kagamin
Jan 25, 2015
Elie Morisse
Jan 25, 2015
Walter Bright
Jan 25, 2015
Kelly
Jan 25, 2015
Elie Morisse
Jan 25, 2015
Walter Bright
Jan 25, 2015
John Colvin
Jan 25, 2015
Walter Bright
Jan 25, 2015
Elie Morisse
Jan 26, 2015
Walter Bright
Jan 26, 2015
Jacob Carlborg
Jan 26, 2015
Walter Bright
Jan 26, 2015
Ulrich Küttler
Jan 26, 2015
Walter Bright
Jan 26, 2015
Tofu Ninja
Jan 26, 2015
bachmeier
Jan 26, 2015
Elie Morisse
Jan 26, 2015
Laeeth Isharc
Jan 27, 2015
Elie Morisse
Jan 27, 2015
Laeeth Isharc
Dec 15, 2016
Swoorup Joshi
January 23, 2015
I think it's important that we enable Calypso (https://github.com/Syniurge/Calypso) and related tooling that interfaces D with other languages, notably C++.

A key topic in 2015 for D is playing well with C++. A good C++ interface will give access to a host of mature C++ libraries, starting of course with the C++ standard library. More importantly, it will provide a smooth migration path for organizations that want to do development in D whilst taking advantage of their legacy code.

I'd like to open the topic of "what can we do in core D to make Calypso better".

But first, I want to get better acquainted with Calypso and raise awareness of it with coworkers and the larger community. To my dismay, the github homepage provides exactly zero "look and feel" use examples beyond the mechanics of building Calypso itself.

To Calypso's creator: is it possible to beef up the documentation of Calypso with a few use cases? Ideally there'd be a soup-to-nuts step by step guide of making a C++ library (either artificial or extant) interfacing with D. Also: what things on the D side would be necessary to make the interface better? Exceptions would be an obvious topic on which we have an attack already (more on it later).


Thanks,

Andrei
January 23, 2015
On Thu, Jan 22, 2015 at 04:24:44PM -0800, Andrei Alexandrescu via Digitalmars-d wrote:
> I think it's important that we enable Calypso (https://github.com/Syniurge/Calypso) and related tooling that interfaces D with other languages, notably C++.
[...]
> But first, I want to get better acquainted with Calypso and raise awareness of it with coworkers and the larger community. To my dismay, the github homepage provides exactly zero "look and feel" use examples beyond the mechanics of building Calypso itself.

What exactly is Calypso and what is it supposed to do? The README is unhelpful in this respect. All I can tell is that it's a fork of ldc. But why? What does it afford beyond stock ldc? No explanation is given.


T

-- 
Don't drink and derive. Alcohol and algebra don't mix.
January 23, 2015
On Friday, 23 January 2015 at 00:31:54 UTC, H. S. Teoh via Digitalmars-d wrote:
> On Thu, Jan 22, 2015 at 04:24:44PM -0800, Andrei Alexandrescu via Digitalmars-d wrote:
>> I think it's important that we enable Calypso
>> (https://github.com/Syniurge/Calypso) and related tooling that interfaces D
>> with other languages, notably C++.
> [...]
>> But first, I want to get better acquainted with Calypso and raise
>> awareness of it with coworkers and the larger community. To my dismay,
>> the github homepage provides exactly zero "look and feel" use examples
>> beyond the mechanics of building Calypso itself.
>
> What exactly is Calypso and what is it supposed to do? The README is
> unhelpful in this respect. All I can tell is that it's a fork of ldc.
> But why? What does it afford beyond stock ldc? No explanation is given.
>
>
> T

http://forum.dlang.org/post/nsjafpymezlqdknmnkhi@forum.dlang.org
January 23, 2015
On Fri, Jan 23, 2015 at 12:33:18AM +0000, Dicebot via Digitalmars-d wrote:
> On Friday, 23 January 2015 at 00:31:54 UTC, H. S. Teoh via Digitalmars-d wrote:
[...]
> >What exactly is Calypso and what is it supposed to do? The README is unhelpful in this respect. All I can tell is that it's a fork of ldc. But why? What does it afford beyond stock ldc? No explanation is given.
> >
> >
> >T
> 
> http://forum.dlang.org/post/nsjafpymezlqdknmnkhi@forum.dlang.org

Thanks!

It would really help if this info was in the README... not just to me, but to a casual observer.


T

-- 
Microsoft is to operating systems & security ... what McDonalds is to gourmet cooking.
January 23, 2015
First, a general increase in quality & test coverage.  If C++ interop is
a priority, it makes sense to focus on ironing out what's already there.
 I've filed a few bugs over the last 2 months or so and I don't think
I'm trying anything too far out there.  Some of these are  internal
compiler errors that probably should have been detected earlier in
compilation.  The new C++ keyword in bugzilla may help here.

I'm curious to know about others' experience with the namespace design is.  I'm skeptical, but am not too familiar with the reasoning yet.  It does lead to problems like https://issues.dlang.org/show_bug.cgi?id=13183 .  Does anyone have a example of why this worked great for them?


-- 
Paul O'Neil
Github / IRC: todayman
January 23, 2015
On Friday, 23 January 2015 at 00:24:45 UTC, Andrei Alexandrescu wrote:
> I think it's important that we enable Calypso (https://github.com/Syniurge/Calypso) and related tooling that
Safe to assume this will be LDC only?
January 23, 2015
On 2015-01-23 01:24, Andrei Alexandrescu wrote:
> I think it's important that we enable Calypso
> (https://github.com/Syniurge/Calypso) and related tooling that
> interfaces D with other languages, notably C++.

I could always use some help with DStep [1]. For those who doesn't know, it's an automated binding generator for C and Objective-C. It doesn't support C++ yet.

For other languages I've recently opened a pull request with the first steps for interfacing with Objective-C [2]. Help with reviewing is appreciated.

[1] https://github.com/jacob-carlborg/dstep
[2] https://github.com/D-Programming-Language/dmd/pull/4321

-- 
/Jacob Carlborg
January 23, 2015
On 2015-01-23 00:24:44 +0000, Andrei Alexandrescu said:

> I think it's important that we enable Calypso (https://github.com/Syniurge/Calypso) and related tooling that interfaces D with other languages, notably C++.
> 
> A key topic in 2015 for D is playing well with C++. A good C++ interface will give access to a host of mature C++ libraries, starting of course with the C++ standard library. More importantly, it will provide a smooth migration path for organizations that want to do development in D whilst taking advantage of their legacy code.
> 
> I'd like to open the topic of "what can we do in core D to make Calypso better".
> 
> But first, I want to get better acquainted with Calypso and raise awareness of it with coworkers and the larger community. To my dismay, the github homepage provides exactly zero "look and feel" use examples beyond the mechanics of building Calypso itself.
> 
> To Calypso's creator: is it possible to beef up the documentation of Calypso with a few use cases? Ideally there'd be a soup-to-nuts step by step guide of making a C++ library (either artificial or extant) interfacing with D. Also: what things on the D side would be necessary to make the interface better? Exceptions would be an obvious topic on which we have an attack already (more on it later).
> 
> 
> Thanks,
> 
> Andrei

I remember Walter arguing against this type of solutions because it requires a C++ compiler to be bundled with D.
Does that mean that now we are adopting this path instead of 'extern(C++)' ?

January 23, 2015
On Friday, 23 January 2015 at 00:24:45 UTC, Andrei Alexandrescu wrote:
> I think it's important that we enable Calypso (https://github.com/Syniurge/Calypso) and related tooling that interfaces D with other languages, notably C++.
>
> A key topic in 2015 for D is playing well with C++. A good C++ interface will give access to a host of mature C++ libraries, starting of course with the C++ standard library. More importantly, it will provide a smooth migration path for organizations that want to do development in D whilst taking advantage of their legacy code.
>

I'm very glad to see this coment from you so that we can get a more fully fleshed out vision for where D is heading with C++ interop. I for instance have developed Smidgen (https://github.com/alynch4047/smidgen) which was to wrap Qt. However, I halted development (having made very good progress, I believe) due to feeling that it could easily be superceded by a more direct interface to C++ such as Calypso seems to be.

These efforts do amount to a lot of work and need commitment (to their architecture) at the top level too. For instance, I needed weak references which I have had to work around, without any feeling that the workaround would continue to work with future changes to the GC. I forget the details but I also had concerns relating to GCed objects being relocated.

Calypso sounds fantastic but seems very tied to one compiler - we all need to know if yourself and Walter are content with that, for instance.

Getting a plan out there so that everyone can pull in one direction would be great.
January 23, 2015
On 1/23/2015 12:34 AM, Max Klyga wrote:
> I remember Walter arguing against this type of solutions because it requires a
> C++ compiler to be bundled with D.

Yes.

> Does that mean that now we are adopting this path instead of 'extern(C++)' ?

No. I presume it will work much like htod.exe, and extern(C++) will be what Calypso generates.

« First   ‹ Prev
1 2 3 4 5