DMD metaprogramming enhancement
Hello everyone, I am happy to announce that in the next DMD release you will be able to more freely enjoy your metaprograming experience now that a long-standing limitation has been lifted. You can now instantiate local and member templates with local symbols. Example: --- struct S { private int _m; void exec(alias fun)() { fun(_m); } } unittest { int localVar; void set(int i) { localVar = i; } auto obj = S(10); obj.exec!set(); // no error or warning assert(localVar == 10); } --- I hope you enjoy!
Re: DMD metaprogramming enhancement
On Thu, Apr 25, 2019 at 11:41:32PM +, Suleyman via Digitalmars-d-announce wrote: > Hello everyone, > > I am happy to announce that in the next DMD release you will be able > to more freely enjoy your metaprograming experience now that a > long-standing limitation has been lifted. > > You can now instantiate local and member templates with local symbols. [...] That's very nice. Which PR was it that implemented this? T -- Век живи - век учись. А дураком помрёшь.
Re: DMD metaprogramming enhancement
On Friday, 26 April 2019 at 00:12:06 UTC, H. S. Teoh wrote: That's very nice. Which PR was it that implemented this? T This one https://github.com/dlang/dmd/pull/9282.
Re: DStep 1.0.0 on the Blog
On 4/23/19 3:23 PM, Jacob Carlborg wrote: On 2019-04-23 14:10, Mike Franklin wrote: Nice work, Jacob! Very cool! Thanks :) Seconded -- absolutely fantastic
Re: DMD metaprogramming enhancement
On Thursday, 25 April 2019 at 23:41:32 UTC, Suleyman wrote: Hello everyone, I am happy to announce that in the next DMD release you will be able to more freely enjoy your metaprograming experience now that a long-standing limitation has been lifted. You can now instantiate local and member templates with local symbols. Example: --- struct S { private int _m; void exec(alias fun)() { fun(_m); } } unittest { int localVar; void set(int i) { localVar = i; } auto obj = S(10); obj.exec!set(); // no error or warning assert(localVar == 10); } --- I hope you enjoy! Noice! Finally indeed. thank you! :D
Re: DMD metaprogramming enhancement
On Thursday, 25 April 2019 at 23:41:32 UTC, Suleyman wrote: Hello everyone, I am happy to announce that in the next DMD release you will be able to more freely enjoy your metaprograming experience now that a long-standing limitation has been lifted. You can now instantiate local and member templates with local symbols. Example: --- struct S { private int _m; void exec(alias fun)() { fun(_m); } } unittest { int localVar; void set(int i) { localVar = i; } auto obj = S(10); obj.exec!set(); // no error or warning assert(localVar == 10); } --- I hope you enjoy! You have no idea how happy I am to hear this has been fixed! So many of my designs have been hamstrung by 5710, and it's been around since the dawn of time. -- Simen
Re: DMD metaprogramming enhancement
On Friday, 26 April 2019 at 06:29:04 UTC, Simen Kjærås wrote: On Thursday, 25 April 2019 at 23:41:32 UTC, Suleyman wrote: Hello everyone, I am happy to announce that in the next DMD release you will be able to more freely enjoy your metaprograming experience now that a long-standing limitation has been lifted. You can now instantiate local and member templates with local symbols. Example: --- struct S { private int _m; void exec(alias fun)() { fun(_m); } } unittest { int localVar; void set(int i) { localVar = i; } auto obj = S(10); obj.exec!set(); // no error or warning assert(localVar == 10); } --- I hope you enjoy! You have no idea how happy I am to hear this has been fixed! So many of my designs have been hamstrung by 5710, and it's been around since the dawn of time. BTW, at least two people have promised money outside BountySource to have 5710 fixed: https://forum.dlang.org/post/gjzrklkxfmgjjdfor...@forum.dlang.org -- Simen
Re: grain - D Language for Deep Learning
On Wednesday, 24 April 2019 at 17:31:03 UTC, jmh530 wrote: On Wednesday, 24 April 2019 at 16:33:00 UTC, Shigeki Karita wrote: [snip] I see. I'm interested in Stan that is the best library for probabilistic models but it lacks of GPU computation. Therefore, I plan to add some probabilistic programming paradigm into grain like pytorch (pyro) and tensorflow (tf probability). Conveniently enough, they just incorporated some GPU support in the release in March [1]. Here's an earlier status update [2]. The initial work was focused on cholesky decomposition because that was a big source of slowdown for some types of models. Probably still has a ways to go before reaching tensorflows maturity on the GPU. [1] https://github.com/stan-dev/math/releases/tag/v2.19.0 [2] https://discourse.mc-stan.org/t/gpu-update-whats-up-and-where-we-are-going/6015 I haven't know that GPU support in Stan. That's Cool! Cholesky decomposition always suffers me when I use covariance matrix or something. If you are interested in GPU acceleration in probabilistic programming, see also this paper (Table 2) of Edward (previous name of Tensorflow Probability) https://arxiv.org/pdf/1701.03757.pdf