Re: D Language Foundation Quarterly Meeting, October 2021
Thank you, Mike. I love these digests. On 11/5/21 4:57 AM, Mike Parker wrote: > One of the things > [Petar Kirov] would like to do is use DLang Tour to make all of the examples in > Ali's book runnable. (That discussion must have happened when I had to leave to for another meeting.) Interesting... Perhaps I can link from the chapters like "run this code on DLang Tour." > For example, a `RangeError` on an invalid array index should > report what the number was that caused the problem; failed asserts > should report the offending expression; etc. There is great progress there already: auto foo(int[] arr) { return arr[42]; } void main() { foo([1, 2]); } core.exception.ArrayIndexError@deneme.d(1755): index [42] exceeds array of length 2 Awesome! :) > ### The fate of `-preview=in` > Martin, Petar, and Ali voiced strong support for the feature. Some of > their arguments in favor: Another argument was "intent". As in, the programmer means "this is an input to this function" and the compiler does the rest. Today, both of the following are input parameters: void foo(ref const(Foo) a) {} void foo(Foo a) {} But wait... the latter may not be an input because it may be a struct that has indirections that I may modify through? How about the following "input" parameter: void foo(const(Foo) a) {} That 'const' has no meaning and no place there if Foo is purely a value type (e.g. int). Why should the knowledge of the implementation's not modifying that copy leak out to the interface? I think all of that can be fixed with in(tent). ;) void foo(in Foo a) {} Done. In other words, dear compiler, you deal with it! :) > `-preview=in` will not be killed. It needs to be changed such that: Yay! Ali
Re: D Language Foundation Quarterly Meeting, October 2021
On Friday, 5 November 2021 at 13:19:30 UTC, Matheus wrote: On Friday, 5 November 2021 at 11:57:40 UTC, Mike Parker wrote: ... Nice summary, but why these meetings are no recorded or streamed? Matheus. I do record the meetings to help me with the summaries. In this case, I was unable to attend, so the recording was my primary source. I don't think that would serve any purpose to publish it or to stream the meetings beyond what the summaries already provide. The big issue for me: when people have the public eye on them, it will inevitably impact what they say in the meeting. One particular opinion or remark can become the news rather than the topic about which it was made. We want everyone participating to be able to speak freely without self-censoring, or worrying about what viewers would think of any specific thing they say. This is especially true now that we are inviting contributors to participate, as some of them may be more reluctant to do so if their comments are public. There are also times when we make tentative plans for something and we don't want to make the details public until we are more certain that it is going to happen. I see no benefit in exposing the details of these conversations. And then there are times when we discuss topics related to one of the D shops that they don't want to be made public knowledge. This doesn't just happen in the quarterly meetings when the industry reps are present, but also sometimes in the smaller monthly meetings. And even if we did stream them or publish a recording, I would still need to write a summary for the people who don't want to sit through a 2+ hour stream or skim through a recording looking for the highlights. Consider the summary of the marketing/ecosystem discussion. That discussion was scattered throughout the first two hours of the meeting as people kept coming back to it. Who has the time to skip back and forth through the video to piece it all together? So I'll have to edit out any sensitive topics that we discussed *and* write the summary. No thanks.
Re: sha3-d
On Friday, 5 November 2021 at 07:00:06 UTC, bauss wrote: What was the reasoning? I can't imagine it being worse than some of the terrible modules like std.json? I have nothing against the decision, but you can read the comments here: https://github.com/dlang/phobos/pull/7713 I should still add support for some kind of acceleration (e.g., core.simd). The liberty I have with this being a DUB package is that I could even use intel-intrinsics.
Re: D Language Foundation Quarterly Meeting, October 2021
On Friday, 5 November 2021 at 11:57:40 UTC, Mike Parker wrote: This meeting took place on October 22nd at 13:00 UTC. D can aim at `experts`, especially `meta programming users`. On this point,`rust` can't compete. `Silky general meta programming`. Use my `strengths` to attack theirs weaknesses. It is more important to take time to do a good job of the product and fix various bugs than to vigorously publicize it now. If the user `comes`, and the experience is bad, which is a bad thing. We shouldn't be in a hurry. We should take our time. Need to work on tools, especially `ide` or `vim` plug-ins. Many people do not insist on using D. because the tools are not good enough.
Re: D Language Foundation Quarterly Meeting, October 2021
On Friday, 5 November 2021 at 11:57:40 UTC, Mike Parker wrote: ... Nice summary, but why these meetings are no recorded or streamed? Matheus.
Re: D Language Foundation Quarterly Meeting, October 2021
On Friday, 5 November 2021 at 11:57:40 UTC, Mike Parker wrote: * The biggest languages have a story. (Java: write once run anywhere, the language of the internet; Rust: memory safety without a GC; Go: goroutines). What is D's story? It's not one big thing, but a lot of little things, and that's not a strong story. I wonder if the underlying theme, that separates us from the rest, is "low or high-level, just as home"? At least when it comes to the stance on GC, that seems to be the hot potato on HN, that applies. Rust advertises working well without the GC. Go advertises working well with the GC. We lobby for working with or without based on situation.
Re: D Language Foundation Quarterly Meeting, October 2021
On Friday, 5 November 2021 at 11:57:40 UTC, Mike Parker wrote: Phew! That was a longer summary than I expected to write. Whoa! Thank you Michael. That and the recent Youtube videos are both excellent!
Re: D Language Foundation Quarterly Meeting, October 2021
On Friday, 5 November 2021 at 11:57:40 UTC, Mike Parker wrote: This meeting took place on October 22nd at 13:00 UTC. Apologies for the delayed summary. [...] Nice summary! I got more confidence in the future of D after reading this.
D Language Foundation Quarterly Meeting, October 2021
This meeting took place on October 22nd at 13:00 UTC. Apologies for the delayed summary. This was a quarterly meeting, meaning there were two parts. The first was focused on industry reps and contributors using D in production; the second was the monthly D Language Foundation meeting. If you are using D in production and would like to participate in our quarterly meetings, please let me know. The meeting lasted three hours. The following people attended: **Industry Reps** Iain Buclaw for GDC Martin Kinkelin for LDC Mario Kröplin for Funkwerk Mathias Lang for BPF Korea Robert Schadek for Symmetry Investments Joseph Wakeling for Frequenz **Contributors** Petar Kirov Vladimir Panteleev Steven Schveighoffer **D Language Foundation** Andrei Alexandrescu Walter Bright Ali Çehreli Max Haughton Átila Neves Razvan Nitu ### Frequenz Joseph had no issues to report, but he brought up his concerns about the state of D in relation to Rust. This led to a discussion that touched on the excitement of things happening in the Rust space (new projects, particularly in the field of Data Science), the availability of libraries in the Rust ecosystem (in many cases, it's easier to get a new project going in Rust than in D), and marketing (he knows programmers who are highly enthused by Rust's offerings and unenthusiastic about the potential of D by comparison). This led to a recurring discussion throughout the meeting about marketing, branding, and the availability of libraries. Some salient points were raised throughout: * Word of mouth is a powerful form of marketing, and languages with solid tooling support (IDEs that almost write the code for you) and a large library ecosystem (like Go's "lego style" programming, where much of what you need for modern programming has already been written) have a lot more to talk about. We have a great language to talk about, but we're missing the other stuff. * We may be appealing to the kind of programmer who is happy with Emacs and has no problem writing the support libraries they need, but that sort of programmer is not the future of programming. * We don't need to be a better C, because no one wants to write new code in C. We need to just be *better*. * HN/Reddit/Etc have a constant stream of "I wrote X in Rust" articles. We need more people who are using D to write about/talk about what they are doing so that others can see it. * The biggest languages have a story. (Java: write once run anywhere, the language of the internet; Rust: memory safety without a GC; Go: goroutines). What is D's story? It's not one big thing, but a lot of little things, and that's not a strong story. * Branding. We need to determine what we are as a brand and should consider hiring a branding expert. ### Funkwerk Mario said Funkwerk wants to create containers that can accept arbitrary types, and that includes accepting `immutable` and `const` types without the containers, in turn, becoming `immutable`/`const`. Unfortunately, they could not use the Phobos `Rebindable` for this, as it doesn't wrap structs. Mathis Beer worked on a solution, and Mario asked him to [submit it to the forums for feeback](https://forum.dlang.org/post/qnzxruolyeozohflr...@forum.dlang.org). It received very little. And they aren't happy with it as it's a "very tricky, very ugly" solution that relies on compiler behavior. Should they continue to use it and risk it breaking if the compiler is changed? Átila said he would look at their code. A second issue was regarding a Funkwerk PR to dfmt that adds a `single_indent` option to dfmt for continuation lines since dfmt only supported double indent continuations, something that was rejected for the D Style Guide. The PR got held up waiting for feedback from Brian Schott, and a later request to merge it anyway received no response. Most of the people present at the meeting have merge rights to dfmt and agreed it should be merged, [and Razvan did so](https://github.com/dlang-community/dfmt/pull/535). ### Symmetry Investments Robert said he has no major issues with his current project. He did circle back to the libraries/marketing discussion, and I summarized his remarks above. Other than that, he is happy using D every day. He also said he has [continued working on "dud"](https://forum.dlang.org/post/cnkbatgkqtdmbldln...@forum.dlang.org) as his Fridays project at Symmetry. He is currently working on dependency resolution, based on the work done in dub. He intends to do a talk about dud and its dependency resolution at the next real-world DConf. He mentioned that in adding parsing support for JSON/SDLang dub recipes, he found several SDLang recipes that have unexpected syntax. Finally, though he expects to keep a legacy dub-like system, where the user types `dud` and the project builds and runs, he would like to connect to Átila's reggae for anything more complex. ### BPFKorea Mathias reports that his company was hit by Issue #
Re: sha3-d
On Friday, 29 October 2021 at 15:13:38 UTC, dd wrote: When I submitted my work to Phobos[1] earlier this year, it was rejected. (Understandably) What was the reasoning? I can't imagine it being worse than some of the terrible modules like std.json? In fact it looks very nice.