schveiguy
No user record in our sample, but schveiguy has activity below (stories or comments). Likely we have partial data — the full bulk-load will fill profiles in.
No user record in our sample, but schveiguy has activity below (stories or comments). Likely we have partial data — the full bulk-load will fill profiles in.
To be fair, the release cadence has been in a bit of a mess lately. But I expect that to be fixed soon. We don't want 6 months between releases.
gdc is 100% Iain Buclaw. But he and Walter collaborate on needs for gcc compatibility, as long as Iain is around, gdc will be around. It is true we have a small team. But we are a dedicated team.
No, templates are only needed to introduce new symbols. And D templates are vastly superior to C++. D's superpowers are CTFE, static if, and static foreach. auto is used as a return type because it's easy, and in some…
ooooold drama. Like 2008. FOSS: DMD was always open source, but the backend license was not compatible with FOSS until about 2017. D is now officially part of GCC (as of v6 I think?), and even the frontend for D in gcc…
That's the public stuff. An example of Weka talking about how they use D (there are more examples at this and other dconf presentations): https://www.youtube.com/live/Ou4KUBjr_78?si=bPOs-19gPemQe_ap...
Wow, this was introduced in 2012! https://github.com/dlang/druntime/pull/88
Thank you for this post. I can tell you that we do appreciate comments like this, and the deficiencies you cite are many of the reasons we are rewriting phobos and druntime. The time module "lied" seems like a straight…
D has been fully unproprietary since 2017. https://forum.dlang.org/post/oc8acc$1ei9$1@digitalmars.com But that's only the reference compiler, DMD. The other two compilers were fully open source (including gcc, which…
> Why "a" `a` is a parameter in the lambda function `a => a.idup`. > Why "map!" This is definitely something that can trip up new users or casual users. D does not use <> for template/generic instantiation, we use !. So…
import C is not perfect. There are pieces of C that don't map directly to D. Such as #define constants and macros. That being said, it will make writing bindings a LOT easier, even though D already has direct binding to…
dlangui and dlangide has been adopted by GrimMaple (who is on the D discord as well), and is actively being developed.
I learned how to use raylib from this youtube series, and used it to teach some homeschool kids D programming. Very nice series!
The rationale is that in a correctly written program, an Error should never be thrown. It's similar to UB in C. The compiler can assume Errors are never thrown, and so it can not worry about cleanup in nothrow…
Oof, seems I got the camelcase wrong. It's `@mustuse` Working on updating that. I think the reason the documentation is cryptic is because it's a library-supplied User Data Attribute that is specially recognized by the…
The only way you can be saying this is if you haven't experienced metaprogramming in D. C++ does not compare at all. Generics do not compare at all. You can take D metaprogramming from my cold dead hands.
You can use arrays as if they were individual operands, and it will expand out the loop and apply the expression to all the values (and can use optimization/vector tricks if posssible). e.g.: arr1[] += arr2[] / 10.0 +…
the "Split stdlib" thing is about 15 years out of date (and only applied to D1, whose final release was in 2012). I wish that criticism would go away.
What language are you used to that doesn't do this? I think I would go nuts if I had to always use the fully qualified name for all symbols.
There are "bad" uses of UFCS, and good ones (sometimes depending on preference). For example, I hate code like `1.writeln`. The major feature that it provides is pipelining (as shown in the article)
Agreed. I've never felt the need to use betterC. The biggest use case I think is writing modules/libraries for other languages to use.
No this one: "Returns: A range with each fun applied to all the elements. If there is more than one fun, the element type will be Tuple containing one element for each fun."
the betterC form of D does not use the GC (and the compiler will let you know).
Yes, it supports interfaces and unions. One thing not being stated enough in this thread also is that the docs are not just a regurgitated version of the prototypes -- there's actual hand-written text that tells you…
What am I looking at there? Are those all traits on Vec that I then have to parse mentally so I can understand what I can do with it? Are all those pages basically to say "Vec works like an array of T"? I've dealt with…
Yes, this is the problem for returns, but it's going to be difficult for the compiler to put something useful. The best it can do is point you at the code that returns, and let you figure it out. I still think the best…