December 15, 2014
On Sunday, 14 December 2014 at 08:37:36 UTC, Manu via Digitalmars-d wrote:
> I think we need a budget for presentation, and we need to pay money and hire some professionals to make the content. Is there a
> kickstarter campaign here? I'll contribute for sure.

Count me in. Money is not the last thing D needs.

Piotrek
December 15, 2014
On Monday, 15 December 2014 at 21:15:21 UTC, CraigDillabaugh wrote:
> Is your project open source?   If so as a student we will likely be looking for applications to the 2015 Google Summer of Code, if D is accepted as a mentoring organization.  I would need to investigate if having a student working on their existing project would be allowable, but it might be possible.  We would still have to find a mentor for you.
>
> Alternately GSOC 2015 might be your chance to learn a bit more about compilers!

It's not currently open source (I am hoping to use this software to help me support myself - maybe open-sourcing could open the door for that, but it's a one way trip so I am hesitant) but I do like the idea of doing GSOC and improving the D language. If it involves work with the compiler, I'd also come out better equipped to deal with related future issues... How do I find out more?
December 15, 2014
On 12/15/2014 12:40 PM, evenex wrote:
> But we keep getting hamstrung by bugs; hitting compiler segfaults during
> template metaprogramming is a very common occurrence, and sometimes UFCS fails.

We've made great progress fixing bugs - but if they aren't reported, they don't get fixed. Please make sure all the ones you encounter are filed on bugzilla.


December 16, 2014
On 16/12/2014 9:40 a.m., evenex wrote:
> But we keep getting hamstrung by bugs; hitting compiler segfaults during
> template metaprogramming is a very common occurrence, and sometimes UFCS
> fails. We continue to make progress but lose a lot of time finding
> workarounds for apparently valid but noncompiling code. We are hoping
> that with the increased interest in D lately, the implementation will
> stabilize, but we are nervous about the long-term prospects.

Something I've learned while working with templates in D is, there is a very specific way to write them. Especially to work at compile time.
I'm wondering if you were fighting the compiler because of this.

Although by the sounds yes, it was bugs, so good thing they are getting fixed anyway.
December 16, 2014
On 12/15/2014 4:32 PM, Rikki Cattermole wrote:
> Although by the sounds yes, it was bugs, so good thing they are getting fixed
> anyway.

They won't get fixed unless they get filed in bugzilla!
December 16, 2014
On Monday, 15 December 2014 at 23:04:20 UTC, Walter Bright wrote:
> We've made great progress fixing bugs - but if they aren't reported, they don't get fixed. Please make sure all the ones you encounter are filed on bugzilla.

Yes, the reports are getting filed - I don't mean to suggest that bugs are not getting fixed (some I've filed have been already been fixed, and I usually at least hear back about them within a couple of days), just sharing my thoughts and experiences developing with D over the past 6 months. In all, the positives significantly outweigh the negatives and the situation continues to improve.
December 16, 2014
On Tuesday, 16 December 2014 at 00:32:27 UTC, Rikki Cattermole wrote:
> Something I've learned while working with templates in D is, there is a very specific way to write them. Especially to work at compile time.
> I'm wondering if you were fighting the compiler because of this.

What specific way do you mean? I don't often get the feeling that I'm fighting the compiler (like I often do in C++), but it can be hard to say what's a compiler error and whats my own mistake.
December 16, 2014
On 16/12/2014 4:31 p.m., evenex wrote:
> On Tuesday, 16 December 2014 at 00:32:27 UTC, Rikki Cattermole wrote:
>> Something I've learned while working with templates in D is, there is
>> a very specific way to write them. Especially to work at compile time.
>> I'm wondering if you were fighting the compiler because of this.
>
> What specific way do you mean? I don't often get the feeling that I'm
> fighting the compiler (like I often do in C++), but it can be hard to
> say what's a compiler error and whats my own mistake.

Its mostly for CTFE, not stuff your general dev will touch even in D.
Like generating javascript from data models or routes [0].

Summary:
"Helper functions" where by they have one task that does not change, and can be gained purely from the parameters given (mostly template args).
"Generator functions" where by they do some task that requires "helper functions" but cannot be ran at CTFE or generate code to be ran at runtime.

I started writing a small booklet on this, if you got an email if you're interested or some way to send you. Please let me know.

[0] https://github.com/rikkimax/Cmsed/tree/master/source/base/cmsed/base/internal/generators/js
December 16, 2014
On Tuesday, 16 December 2014 at 03:50:59 UTC, Rikki Cattermole wrote:
> I started writing a small booklet on this, if you got an email if you're interested or some way to send you. Please let me know.

Do you mind to share with us all? :)

Matheus.
December 16, 2014
On Tuesday, 16 December 2014 at 03:50:59 UTC, Rikki Cattermole wrote:
> Its mostly for CTFE, not stuff your general dev will touch even in D.
> Like generating javascript from data models or routes [0].
>
> Summary:
> "Helper functions" where by they have one task that does not change, and can be gained purely from the parameters given (mostly template args).
> "Generator functions" where by they do some task that requires "helper functions" but cannot be ran at CTFE or generate code to be ran at runtime.
>
> I started writing a small booklet on this, if you got an email if you're interested or some way to send you. Please let me know.
>
> [0] https://github.com/rikkimax/Cmsed/tree/master/source/base/cmsed/base/internal/generators/js

Thanks, I've sent you an email through github. I use the helper function pattern a regularly (I think Ali put it in his book) but I don't think I'm familiar with generators. Looks useful for implementing some lazy UFCS compute kernels I've been considering.