DIP 1032--Function Pointer and Delegate Parameters--Withdrawn
At the end of the final review of DIP 1032, "Function Pointer and Delegate Parameters Inherit Attributes from Function", Walter informed me he had decided he would reject the DIP on the grounds that it doesn't offer enough utility to justify the potential for code breakage. Since the DIP was not yet in the Formal Assessment stage, and there's no need to keep it around in the Post-Final queue, I've marked it as 'Withdrawn' and it has now been relegated to the graveyard of the 'DIPS/other' directory. https://github.com/dlang/DIPs/blob/master/DIPs/other/DIP1032.md
SAOC 2020 Projects and Participants
If you're interested in following along with the progress of Symmetry Autumn of Code 2020, you can start with this blog post, where I briefly introduce the participants and their SAOC projects: https://dlang.org/blog/2020/08/23/symmetry-autumn-of-code-2020-projects-and-participants/
SAOC 2020 Phase One
We've passed the SAOC 2020 application deadline and have received a handful of applications. The SAOC committee will evaluate them over the coming days. I'll announce the participants and their projects next Sunday, August 23 with and introduction the participants and their projects on the blog. Thanks to everyone who submitted an application. And special thanks to Razvan and Edi for the good work they're doing in stoking interest in D!
SAOC 2020 Deadline & DConf Online 2020 Swag
Hello folks. I've put some deadline reminders and announced some new swag on the blog. If you're hoping to participate in SAOC 2020, the application deadline is a week away! https://dlang.org/blog/2020/08/09/deadlines-and-new-swag/
DIP 1032--Function Pointer and Delegate Parameters...--Final Review Begins
The Final Review for DIP 1032, "Function Pointer and Delegate Parameters Inherit Attributes from Function", has begun. The purpose of the Final Review is a last check to make sure everything is in good shape. Generally, we aren't looking for major revisions to the DIP unless someone notices something critical. This is a chance for any revisions made in the previous review round to be scrutinized. Even if no revisions were made, it's a final opportunity to catch any problems that may have been missed before. Please discuss the features of the proposal (its merits, its implementation, peripheral topics, etc.) in the Discussion Thread and save all review feedback (critiques on the content of the DIP: what to change, how to improve it, etc.) for the Feedback Thread. Discussion Thread: https://forum.dlang.org/post/ubcwhqxyjizccoekp...@forum.dlang.org Feedback Thread: https://forum.dlang.org/post/axjajqhksecqdserc...@forum.dlang.org
Re: The ABC's of Templates in D
On Friday, 31 July 2020 at 22:58:07 UTC, Mario Kröplin wrote: On Friday, 31 July 2020 at 13:46:43 UTC, Mike Parker wrote: The blog: https://dlang.org/blog/2020/07/31/the-abcs-of-templates-in-d/ Minor detail: in "Even shorter syntax" the point is not that the template has only one parameter, but that the template argument is only one token long (for example, no `char[]`). Double thanks! The entirety of the first sentence in that section was problematic.
Re: The ABC's of Templates in D
On Friday, 31 July 2020 at 17:55:54 UTC, Bruce Carneal wrote: Good writing for the not-quite-beginner-and-up audience Mike. Reading it reminded me of how much I had been taking for granted, of how much power D provides with minimal drag. Really hope I never have to go back to C++/CUDA. Also enjoying your book. Looking forward to additional blog posts. Thanks! I'm hoping for a few volunteers to step forward to produce some of those additional posts. There's a pile of unpublished D template know-how out there that would make for some interesting reading.
Re: The ABC's of Templates in D
On Friday, 31 July 2020 at 17:57:58 UTC, H. S. Teoh wrote: On Fri, Jul 31, 2020 at 01:46:43PM +, Mike Parker via Not sure how blog-worthy this is, It is! I'll be in touch :-)
Re: The ABC's of Templates in D
On Friday, 31 July 2020 at 22:58:07 UTC, Mario Kröplin wrote: On Friday, 31 July 2020 at 13:46:43 UTC, Mike Parker wrote: The blog: https://dlang.org/blog/2020/07/31/the-abcs-of-templates-in-d/ Minor detail: in "Even shorter syntax" the point is not that the template has only one parameter, but that the template argument is only one token long (for example, no `char[]`). Thanks! That I didn't think about it when writing this made me wonder if I noted it in the book.
Re: The ABC's of Templates in D
On Friday, 31 July 2020 at 15:24:46 UTC, Ali Çehreli wrote: On 7/31/20 6:46 AM, Mike Parker wrote: The blog: https://dlang.org/blog/2020/07/31/the-abcs-of-templates-in-d/ An excellent article and the ideas are delivered expertly, in a very natural way. And there are almost no typos. ;) comfusing -> confusing a normal a function -> a normal function declare first declare -> first declare implemnted -> implemented Ali As usual, thanks! I should start sending all of my blog posts to you before I publish :-)
The ABC's of Templates in D
I'm planning to publish several articles and tutorials about D templates over the next few months. As a means of setting the stage, I've published this tutorial on the basics. The blog: https://dlang.org/blog/2020/07/31/the-abcs-of-templates-in-d/ Reddit: https://www.reddit.com/r/programming/comments/i17n5d/the_abcs_of_templates_in_d/ I've got a few more posts on the topic that I intend to write myself, one of which will incorporate Stefan Koch's dive into a template instantiation. But I'm also looking for guest posts demonstrating specific instantiations (heh) of templates in real-world D code. If you've got a code base that uses templates in interesting ways, please get in touch! We do offer a bounty for guest posts, so you can help with a bit of PR and make a bit of cash at the same time.
Re: DIP 1030--Named Arguments--Final Review Begins
On Tuesday, 28 July 2020 at 04:18:11 UTC, Cecil Ward wrote: Mike, is this going to go ahead? You can see the status of every active DIP here: https://github.com/dlang/DIPs/blob/master/DIPs/README.md As a rule, every DIP in that top table is going to go ahead unless a) the author explicitly asks me to stop or postpone the process or b) the author becomes unresponsive. You'll see there that 1030 is currently in Formal Assessment, meaning Walter and Atila are evaluating it. I emailed them a few days ago to kick it off, so we should hear a verdict in the next two or three weeks. And thanks for asking! You've made me realize I should start announcing when a Formal Assessment begins.
DIP 1029--Add throw as Function Attribute--Formal Assessment
Now that our new DIP rules have been announced, I'm going to get the DIP process moving again. And the first thing on the list is the announcement that DIP 1029, "Add throw as Function Attribute" has been accepted. https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1029.md The rationale is in the DIP's Review Summary, but I quote it here for convenience: "This DIP was accepted with no request for revision. The Language Maintainers felt that arguments suggesting alternative syntax, such as @throw or throw!bool, are not persuasive. The motivation behind @ in attribute names is to provide an alternative to the introduction of new keywords. However, throw is already a keyword, and adding @throw would introduce an incongruity with nothrow. Leaving them both as-is is the simplest approach. throw!bool would render nothrow redundant and is inconsistent with the existing set of built-in attributes. Also, there were no strong objections to the proposal itself. Although some objections were raised to the introduction of a counter to nothrow alone as opposed to a broader proposal encompassing all similar attributes, the Language Maintainers see no problem. This DIP is focused solely on the obvious application of the existing throw keyword to its new role. Any larger changes to attribute syntax are beyond its scope."
Re: DConf Online 2020 (Formal Announcement)
On Thursday, 23 July 2020 at 14:57:09 UTC, Paul Backus wrote: On Thursday, 23 July 2020 at 14:43:23 UTC, Mike Parker wrote: I've just published the formal announcement of DConf Online 2020 to the blog and shared it on reddit. If you have time, please check the comments in the reddit thread for any questions you can answer and myths you can refute about D! The blog: https://dlang.org/blog/2020/07/23/dconf-online-2020-call-for-submissions/ Reddit: https://www.reddit.com/r/programming/comments/hwgshr/dconf_d_programming_language_conference_online/ Typo: the link to the DConf Online 2020 website actually goes to the DConf 2019 website. There are three of them! Thankfully, only one was wrong (and I was sure I clicked them all). Thanks!
DConf Online 2020 (Formal Announcement)
I've just published the formal announcement of DConf Online 2020 to the blog and shared it on reddit. If you have time, please check the comments in the reddit thread for any questions you can answer and myths you can refute about D! The blog: https://dlang.org/blog/2020/07/23/dconf-online-2020-call-for-submissions/ Reddit: https://www.reddit.com/r/programming/comments/hwgshr/dconf_d_programming_language_conference_online/
Re: DConf Online 2020 (Soft Announcement)
On Friday, 17 July 2020 at 16:11:19 UTC, Steven Schveighoffer wrote: I'm curious about the live coding format - is that something that other conferences have done? I admit I've never watched a live coding session. I don't know that other conferences have done it (haven't seen any), but it's an easy livestream event to do. What I'm hoping for this sort of thing is to see a focused tutorial with a fixed start point and end point.
DConf Online 2020 (Soft Announcement)
DConf Online 2020 is on! https://dconf.org/2020/online/index.html Please note that this is a soft announcement. Please don't share the website or the announcement on social media just yet. I want to have a chance to revise the details if needed before we do that. I'll publish a blog post next week with a more formal announcement and will share that to the world at large. Some brief notes about how we currently envision things: * Pre-recorded talks will be scheduled to premiere at specific times on our YouTube channel on Saturday and Sunday. * Speakers in the pre-recorded talks will need to be available for a livestream Q & A session that will run in parallel to the talk and for an additional 15 minutes beyond. We'll monitor multiple sources in addition for questions (the chat in the video premier, the Q & A livestream chat, slack, discord, IRC). * If you have ever done any livecoding and enjoy it, please consider proposing a session for DConf. I'll set up a restreamer so that you can stream to both your channel of preference and the foundation's YouTube channel. You'll need to know ahead of time what your goals for the session are and how you'll achieve them. If we can have at least one session per day, we'll be very happy. * We'll have at least one livestreamed panel (the traditional Ask use Anything) and are eagerly looking for interesting panel ideas. * I'm hoping to convince a handful of people to organize and run a #BeerConf starting the day before the conference (Friday the 20th) and going through Sunday. * Currently planning to kick off around 3:00 PM UTC on Saturday and Sunday so that folks on the US West Coast don't have to get up before sunrise to participate. Those of us in Asia will have to make do. As the web page says, after the event we'll be launching a new playlist on the foundation's YouTube channel (The D Community Presents). It's our goal to accept as many of the DConf submissions as possible since we aren't physically constrained by time and space. We want to post *every* pre-recorded talk to YouTube. Those we don't select to premiere for the conference we can instead post once a week to the new playlist afterward. And we'll continue to accept submissions to the playlist as time goes by. And yes, we hope to make this an annual event. Real-world DConf in May, online DConf in November. Please let me know if anything about the submission process is unclear and I'll update the page. I do not want to post details about the process of prepping the videos; I'm reserving that for those who are actually accepted. And I'm holding off on the details of exactly how we'll be doing the livestreaming, as that may change. We'll make some test runs to ensure that everything we want to do actually works and I'll update the page as we get closer to the dates.
Re: From the D Blog: A Pattern for Head-mutable Structures
On Saturday, 27 June 2020 at 17:58:50 UTC, Avrina wrote: They are actually going against their rules and are actively trying to game their algorithm by telling D's community to search for the article instead of providing. So actually, I'd they also wanted to follow tand respect the rules of another community, then they would be providing a direct link. What they are doing now is going against their rules by trying to bypass their algorithm for more fake internet points. I don't know why you're so worked up about this, but please scroll up and read what I wrote. Nowhere have I asked for anyone to upvote the post. I want people to know it's there so that those who would like to do so can head over and comment. Whether you upvote or not is up to you, but if you do so I would like it to count. I also don't want direct links harming our ranking. That gets more eyes on the post and helps us all in the long run. If that's not good enough for you, then I have nothing else to say on the matter.
Re: From the D Blog: A Pattern for Head-mutable Structures
On Saturday, 27 June 2020 at 03:56:58 UTC, Clarice wrote: Don't forget moderating the newsgroups! Heck, managing DIPs and their discussions alone is worthy of gratitude. So thank you, Mike. Thanks Clarice! And Dennis!
Re: From the D Blog: A Pattern for Head-mutable Structures
On Saturday, 27 June 2020 at 03:27:14 UTC, Adam D. Ruppe wrote: On Friday, 26 June 2020 at 14:02:14 UTC, Mike Parker wrote: But if you do want to vote, I'd like your vote to count. I've seen no evidence that this strategy actually works. Appears totally random if a D post sticks around or not. And in a great many of these posts, people complain that they can't find the post at all which definitely doesn't help anything. I haven't seen anyone complaining they can't find the posts, just that I don't provide the links. It's three steps (two on a 4k monitor): 1. Go to https://news.ycombinator.com 2. Hit the 'End' key to get to the search box at the bottom of the page 3. Enter all or part of the blog post title in the search box After that, it's in the browser history. I have never not been able to find the post doing this. Are you sure it is worth it? Like I said above, there are other factors that determine a post's success on HN and it's always hit or miss. So far, I haven't been able to turn up any foolproof advice. But those who have attempted to crack the secret all say that if people are following direct links, it will definitely hinder the post's performance and a miss is pretty much guaranteed. The FAQ says clearly: "Can I ask people to upvote my submission? No. Users should vote for a story because they personally find it intellectually interesting, not because someone has content to promote. HN's software penalizes submissions, accounts, and sites that break this rule, so please don't." Obviously, HN isn't going to scrape referring sites to check for people explicitly asking for upvotes. We know for certain that direct links disqualify upvotes, there's evidence to suggest that they account for indirect hits to a post from direct links to other parts of the site, and I can't find any information on if any of this is factored into the ranking algorithm in another way. So yes, if people from this community want to monitor the comments on a HN site, I think it's worth it to ask them to take a couple of extra steps to do so in the interest of avoiding a negative impact on the post's ranking. If the post turns out to be a miss, it wasn't because of anything we did. If we do get lucky and hit the front page, then we've got more eyes on the post, our community members have more opportunity to share their experience, and we get (hopefully) a good PR day for D.
Re: From the D Blog: A Pattern for Head-mutable Structures
On Friday, 26 June 2020 at 17:02:05 UTC, Avrina wrote: "It says a lot about the priorities when you can't even get a simple link, community comes last." If the community came last for me, I wouldn't be doing the work I do. I'd be focusing on my own projects. So try again.
Re: From the D Blog: A Pattern for Head-mutable Structures
On Friday, 26 June 2020 at 13:04:27 UTC, Adam D. Ruppe wrote: On Friday, 26 June 2020 at 08:36:06 UTC, Mike Parker wrote: I wouldn't be so sure. See the "Anti-Voting Manipulation" section here: you telling us to vote in a specific way is already gaming the system. stop trying to manipulate their idiotic algorithm and just focus on delivering value to the community. I'm not telling you to vote a specific way. But if you do want to vote, I'd like your vote to count. I always type the blog post title in the search bar. Is it really that difficult?
Re: From the D Blog: A Pattern for Head-mutable Structures
On Friday, 26 June 2020 at 07:35:17 UTC, JN wrote: Here's some examples of blog posts that got popular on reddit last week. They're short enough and can be understood without deep understanding of the language: We've had long, D-specific posts be successful on reddit on more than one occasion. On HN as well. Sometimes they catch on, sometimes they don't. I always aim for an optimal window on reddit [1] and sometimes use an alternative, catchier title if it fits (I learned a valuable lesson with Liran's interview when I didn't include "the World's Fastest File System" in the reddit post -- I used it on HN and it hit big). But I've noticed these days that most of our successful blog posts have a slow burn on reddit. They stay in the low teens for a day or so and then start to tick up. More interesting to me is the upvote *rate*. Anything over 75% makes me happy. As I write, Simen's post has 14 upvotes and an 82% upvote rate. And no D bashing in the comments. In my book, that's a successful post. HN is always hit or miss. Unlike /r/programming, the HN front page changes rapidly. When a post catches on, it's always big. Otherwise it fades away quickly. From what I can tell it's mostly a matter of timing there. Also, if I don't share a post on HN, someone else inevitably will. And it's the same story: big or nothing. [1] https://dashboard.laterforreddit.com/analysis/?subreddit=%2Fr%2Fprogramming=5
Re: From the D Blog: A Pattern for Head-mutable Structures
On Friday, 26 June 2020 at 06:52:58 UTC, Andrej Mitrovic wrote: Isn't it possible to just paste to the search results? https://hn.algolia.com/?q=A+pattern+for+head+mutable Then presumably after clicking on comments you would be allowed to upvote. I wouldn't be so sure. See the "Anti-Voting Manipulation" section here: https://github.com/minimaxir/hacker-news-undocumented "One popular "trick" for obfuscating voting manipulation on Hacker News is to link to the Hacker News's /newest page of new submissions (instead of a direct link which would otherwise make voting manipulation obvious), and asking friends to upvote the submission from that page. This trick doesn't actually work." I suspect they track HTTP referrers and red flag multiple hits to the same link from the same referrer. However they do it, I would expect linking directly to search results is something they account for.
Re: From the D Blog: A Pattern for Head-mutable Structures
On Friday, 26 June 2020 at 05:37:13 UTC, Arun Chandrasekaran wrote: This is a very interesting post. But this strategy with HN is clearly not working. 5 upvotes after 17 hours and 0 comments. Please paste the direct link in future even if the ranking goes down after a few hours. Some publicity is better than nothing at all. Upvotes aren't counted when you follow a direct link. So no, I won't be posting direct links.
From the D Blog: A Pattern for Head-mutable Structures
Simen Kjærås outlines an approach to supporting head-mutable types in D without the need for compiler or language changes. The blog: https://dlang.org/blog/2020/06/25/a-pattern-for-head-mutable-structures/ Reddit: https://www.reddit.com/r/programming/comments/hfkq5e/a_pattern_for_headmutable_structures_in_d/ I've also submitted it to HN (please use the search box): https://news.ycombinator.com/newest
Re: News on the D Blog: SAOC 2020 and More
On Tuesday, 23 June 2020 at 13:45:56 UTC, user1234 wrote: That is interesting, that means that dlang users spent ~57,600.0 bucks on Amazon recently. And that's probably only a minority as people don't necessarily remembers that smile.amazon thing. That's not recent. It's the total they've paid out since the foundation has been part of the program. I'm not sure when Andrei signed up for it.
Re: News on the D Blog: SAOC 2020 and More
On Tuesday, 23 June 2020 at 12:00:06 UTC, Mike Parker wrote: Symmetry Autumn of Code 2020 is on! My latest news post on the D Blog talks about that, some D Language Foundation finance updates, and whispers on the wind. And you can read all about it here: https://dlang.org/blog/2020/06/23/saoc-2020-and-other-news/
News on the D Blog: SAOC 2020 and More
Symmetry Autumn of Code 2020 is on! My latest news post on the D Blog talks about that, some D Language Foundation finance updates, and whispers on the wind.
DIP 1035--@system Variables--Community Review Round 1 Begins
The first round of Community Review for DIP 1035, "@system Variables", is now underway. Please discuss the DIP (its merits, its implementation, peripheral topics, etc.) in the Discussion Thread and save all review feedback (critiques on the content of the DIP: what to change, how to improve it, etc.) for the Feedback Thread. Discussion Thread: https://forum.dlang.org/post/tgtrbqrjetdveznzx...@forum.dlang.org Feedback Thread: https://forum.dlang.org/post/teoiwvqqpfqcyfndu...@forum.dlang.org
Re: On the D Blog: A Looat at Chapel, D, and Julia Using Kernel Matrix Calculations
On Wednesday, 3 June 2020 at 16:15:41 UTC, jmh530 wrote: Typo (other than Mike's headline): "In our exercsie" "Chapel’s arrays are more difficult to get started with than Julia’s but are designed to be run on single-core, multicore, and computer clusters using the same or very similar code, which is a good unique selling point." (should have comma between Julia's and but) Not really. Of the top of my head, the general rules with commas and conjunctions that apply in this case are that you only use a preceding comma when: * you have a subject and verb after the conjunction (in this case, if it said "but they are", then a comma would be required) * the comma would add clarity in an otherwise convoluted/ambiguous sentence (which I don't think is the case here) * artistic license (the author wants to indicate a pause, something more common in fiction writing) Though multicore should have a hyphen.
On the D Blog: A Looat at Chapel, D, and Julia Using Kernel Matrix Calculations
Some of you may have seen a draft of this post from user "data pulverizer" elsewhere on the forums. The final draft is now on the D Blog under his real name and ready for your perusal. The blog: https://dlang.org/blog/2020/06/03/a-look-at-chapel-d-and-julia-using-kernel-matrix-calculations/ Reddit: https://www.reddit.com/r/programming/comments/gvuy59/a_look_at_chapel_d_and_julia_using_kernel_matrix/ I'll be posting on HN, too, but please don't share a direct link. I did some digging around and it really does affect the ranking -- your upvotes won't count.
Re: unit-threaded v1.0.0
On Monday, 1 June 2020 at 09:08:01 UTC, Russel Winder wrote: Secondarily lack of understanding of the scope rules of multiple unittest blocks. In the end though I use whatever is provided. So if functions are for the chop, I will switch to using labelled unittest blocks. Each unittest block is a function.
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Sunday, 24 May 2020 at 06:39:27 UTC, Daniel C wrote: "If you don't use dmd for linking, make sure to add legacy_stdio_definitions.lib to your command line when linking against the VS2015 runtime." Good find. If I was ever aware of that, I had forgotten about it. Anyway, thanks for your help Mike! Without it I may have given up on D for another year or so ;-) Glad I could help!
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Sunday, 24 May 2020 at 04:16:10 UTC, Daniel C wrote: On Saturday, 23 May 2020 at 19:59:51 UTC, Daniel C wrote: I'll be mucking around with it again later. Well, I'm having limited success. I got 32-bit compile/run using basic -m32, and -m64 compiles but crashes lol. Trying out 32-bit -m32mscoff with Microsoft Build Tools (2019) resulted in this mess: phobos32mscoff.lib(runtime_c8b_76e.obj) : error LNK2001: unresolved external sym bol _printf phobos32mscoff.lib(parseoptions_d98_7cf.obj) : error LNK2001: unresolved externa l symbol _printf phobos32mscoff.lib(gc_244f_122.obj) : error LNK2001: unresolved external symbol _printf phobos32mscoff.lib(msvc_32mscoff.obj) : error LNK2001: unresolved external symbo l __vsnprintf phobos32mscoff.lib(parseoptions_d93_21b.obj) : error LNK2001: unresolved externa l symbol _sscanf Frustrating! I don't even know where to go for help with that stuff. Through experimentation, I was able to compile with older Visual C++ 2010 tools, but I'd rather not be using 10 year old tech. There should be no need to revert to VS 2010. These errors indicate that something in your build process or setup is borked. Have you tried building your app with dub and using bindbc-sdl as a dependency rather than doing it separately DMD? This way, you can ensure that everything is being compiled with the same options and the linker is getting the correct libraries. Maybe this wasn't the time for me to come back lol I would say it's generally much easier to build D projects these days than it ever has been. We just need to figure out where you're going wrong.
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Saturday, 23 May 2020 at 03:29:44 UTC, Daniel C wrote: On Saturday, 23 May 2020 at 03:25:12 UTC, Daniel C wrote: I'm building my app without dub. I've now put all the source files into the same folder as my project and I'm still seeing the same undefined symbol issue. I should say, I put the bindbc library into a subfolder. So it's like this: project/bindbc/sdl/bind The SDL lib files are in the same folder with the source, primarily because the LIB environment variable was being ignored by the compiler/linker. I suggest you create project/lib and drop the SDL libraries there along with the bindbc-sdl library and pass the path to the linker. Since you should be using the MS linker (see below), it expects the /LIBPATH option (https://docs.microsoft.com/en-us/cpp/build/reference/libpath-additional-libpath?view=vs-2019), which you can add to your dmd commandline as `-L/LIBPATH:lib`. Of course, that's assuming you've got the Microsoft Build Tools installed either independently or as part of a Visual Studio installation. If not, you'll be using the LLVM linker that ships with DMD. I believe in that case it should be `-L-Llib`. If you really want 32-bit and to statically link with the SDL import libraries, I strongly recommend you use the -m32mscoff dmd options (and the corresponding -ax86_mscoff dub option). The SDL libraries are distributed as COFF, not OMF, so using OPTLINK would require converting the lib files to OMF first.
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Saturday, 23 May 2020 at 03:25:12 UTC, Daniel C wrote: On Saturday, 23 May 2020 at 01:23:38 UTC, Mike Parker wrote: What download are you referring to? I don't have any library files in the git repository, and I don't know of any downloads from the duo repository. Huh.. I'm not sure, it must have gotten there when I dub'd something lol. Sorry It gets there when you build it :-) Also, when setting it to static compile, it complains during linking there are missing functions, even though I've already added the appropriate SDL library files. What are the missing symbols? This is what I'm getting: Error 42: Symbol Undefined __D6bindbc3sdl4bind9sdlevents9SDL_Event6__initZ This isn't a symbol from the SDL library. It's a D symbol from the binding. Are you building it separately from your app? Or is it a dependency in your app's dub configuration? I did build it using dub from the downloaded folder, but I suppose that was pointless as the .lib file that's generated isn't even recognized. I'm building my app without dub. I've now put all the source files into the same folder as my project and I'm still seeing the same undefined symbol issue. Please provide the commands you are using and the errors you are seeing. Then I can have an idea of what's going on. dmd.exe sdl_bindbc_test.d -g -m32 -w -debug -version=BindSDL_Static -version=SDL_2012 -version=SDL_Image_205 SDL2.lib SDL2_image.lib You didn't link with the bindbc-sdl library. But a couple of points about that -m32 option: 1. On Windows, DMD always builds with -m32 by default, so you don't need to specify it. 2. It means you're using the default OPTLINK linker which requires object files in the OMF format. 3. The COFF format is more common in the Windows ecosystem, which the -m32mscoff and -m64 options will cause to be generated 4. Unlike DMD, dub will use the system architecture on Windows for the default build, meaning on 64-bit Windows it will automatically pass -m64 to DMD. Honestly it could be something I'm missing. I saw the "-betterC" option in the documentation, but I assumed that my entire app would need to use -betterC so I avoided it. No. You can link to betterC libraries with a normal D app. Apologies if it's something dumb I'm overlooking. Essentially, the bindbc-sdl library you built is invalid because dub built it with -m64 (unless you explicitly passed -ax86 on the dub command line) and you built your app with -m32, giving you both an architecture mismatch and an object file format mismatch. Then your dmd command is missing the bindbc-sdl library, hence the linker error.
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Friday, 22 May 2020 at 22:20:55 UTC, Daniel C wrote: There is a library file included in the dub repository download: https://code.dlang.org/packages/bindbc-sdl What download are you referring to? I don't have any library files in the git repository, and I don't know of any downloads from the duo repository. Also, when setting it to static compile, it complains during linking there are missing functions, even though I've already added the appropriate SDL library files. What are the missing symbols? Oddly, when I use dub to compile the library file for bindbc-sdl, when I include that library file during linking it causes an error that it's not a valid library file... even though it was created with dub + dmd? Some odd things going on. I'm on Windows 7 x64 btw Are you building it separately from your app? Or is it a dependency in your app's dub configuration? Please provide the commands you are using and the errors you are seeing. Then I can have an idea of what's going on.
Re: DIP1028 - Rationale for accepting as is
On Friday, 22 May 2020 at 12:47:04 UTC, matheus wrote: As an end user, I'd like to know if this language will be guided by community or one person, because it seems the "democracy" is very shallow right now. And again why waste time with this process plus 2 rounds of discussion? I mean just do it and tell in this announcement section about the feature. The DIP review process is not intended for community approval or rejection of DIPs. It's not a democratic voting process. It's intended to elicit community feedback to enhance the DIP under review (the Feedback Threead) and to allow the airing of opinions (the Discussion Thread). All DIP authors have the freedom to incorporate suggestions into their DIP or not, and Walter and Atila make the decision to accept or reject. If you look at the history of Walter's DIPs, they *do* take the opinions into consideration even when he is the author. Several of his previous DIPs have been withdrawn or rejected. If a popular DIP is rejected, it means neither of them were convinced by opinion to accept it. And, as in the case for this DIP, if an unpopular DIP is accepted, it means they were not persuaded by the arguments against it. From my perspective, the process is working as intended, despite the comments to the contrary in this thread. You either convince a DIP author to modify his DIP, or you don't. You either persuade Walter and Atila to accept or reject it, or you don't.
DIP 1028--Make @safe the Default--Formal Assessment
DIP 1028, "Make @safe the Default", has been accepted without comment. https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1028.md
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Saturday, 16 May 2020 at 09:00:25 UTC, Andre Pany wrote: A little bit off topic. I wondered whether it is possible to combine dpp and bindbc. Maybe a separate Tool which creates a bindbc packages based on dpp output or even integrates into dpp? Did you already considered s.th. like that? Hasn't even crossed my mind. My first thought is that I don't see it as a good fit. Although all of my bindings follow a similar pattern, there are details specific to some of the libraries that led me to break the pattern. This arises mostly in the way different libraries handle their release versioning. Given dpp's use case, I don't see it as a generator of bindings that cover multiple library versions.
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Thursday, 14 May 2020 at 09:55:15 UTC, Claude wrote: As a user of BindBC (and former Derelict), I really enjoy using those binding libraries. It's some great work, thanks. Thanks!
Re: On the D Blog: Lomuto's Comeback
On Thursday, 14 May 2020 at 13:40:24 UTC, Andrei Alexandrescu wrote: On 5/14/20 9:26 AM, Mike Parker wrote: The right way to share something on hackernews is to send people to https://news.ycombinator.com/newest and mention the time of sharing. Okay everyone, please use this link or search for "Lomuto's Comeback" in the search field. I've been hearing conflicting accounts of this for a while, with more people telling me it doesn't happen anymore. However, it seems posts were never flagged as spam for this. Instead, any upvotes from people coming through direct links *do not count*. Coupled with the fact that the FAQ still says posts are penalized for "asking for votes", I'm no longer going to share direct links to HN articles. Found multiple sources about it, but this 2015 post lays it all out and I assume it's still mostly relevant: https://wiredcraft.com/blog/how-to-post-on-hacker-news/ https://news.ycombinator.com/newsfaq.html
On the D Blog: Lomuto's Comeback
After reading a paper that grabbed his curiosity and wouldn't let go, Andrei set out to determine if Lomuto partitioning should still be considered inferior to Hoare for quicksort on modern hardware. This blog post details his results. Blog: https://dlang.org/blog/2020/05/14/lomutos-comeback/ Reddit: https://www.reddit.com/r/programming/comments/gjm6yp/lomutos_comeback_quicksort_partitioning/ HN: https://news.ycombinator.com/item?id=23179160
Re: BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
On Wednesday, 13 May 2020 at 14:39:13 UTC, Mike Parker wrote: It's up to the caller to ensure the path is valid. For example, if the executable is run from a different directory, then "libs" will not be relative to the current working directory. `SDL_GetBasePath` can help there: https://wiki.libsdl.org/SDL_GetBasePath?highlight=%28%5CbCategoryFilesystem%5Cb%29%7C%28CategoryEnum%29%7C%28CategoryStruct%29 Well, duh. I put the cart before the horse on that one. SDL2.dll is going to be in the same subdirectory since all the others depend on it and will fail to load if it isn't there (they don't load it dynamically, of course). Working with args[0] or, since this is a Windows-only thing, calling the Win32 API directly (GetModuleFileName, IIRC) will get you there.
BindBC Updates: new loader function, SDL_net, streamlined SDL_* version indentifiers
I've recently implemented some improvements centered on bindbc-sdl. == New Loader Function I've added a function to bindbc-loader (on Windows only) to allow adding a single path to the default DLL search path. This is to solve the problem that some of the SDL satellite libraries would fail to load when placed in a directory outside of the search path, such as a ./libs subdirectory. The problem is that SDL loads its dependencies dynamically. So when a bindbc user would load a lib with a custom path, e.g., `loadSDLImage("libs\\SDL2_image.dll")`, the system loader would find that DLL just fine, but then when it in turn attempted to load a dependency like libpng, the system loader would search the DLL search path and *not* the libs subdirectory, thereby causing a failure. Now you can do this: ``` version(Windows) setCustomLoaderSearchPath("libs"); if(loadSDL() < sdlSupport) { /* handle error */ } if(loadSDL_Image() < sdlImageSupport) { /* handle error */ } // Give SDL_image a chance to load libpng and libjpeg (it loads them lazily // when the corresponding flags are passed to IMG_Init. auto flags = IMG_INIT_PNG | IMG_INIT_JPEG; if(IMG_Init(flags) != flags) { /* handle error */ } // Now reset the default loader search path version(Windows) setCustomLoaderSearchPath(null); ``` It's up to the caller to ensure the path is valid. For example, if the executable is run from a different directory, then "libs" will not be relative to the current working directory. `SDL_GetBasePath` can help there: https://wiki.libsdl.org/SDL_GetBasePath?highlight=%28%5CbCategoryFilesystem%5Cb%29%7C%28CategoryEnum%29%7C%28CategoryStruct%29 I'm unaware of any issues with other libraries BindBC binds to, but if they do arise, this will solve those, too. == SDL_net I didn't initially port SDL_net over because I didn't think anyone was using it. I was waiting for someone to request it. Someone did. It's a small API, so it took a matter of minutes to complete. == Streamlined SDL_* version identifiers Previously, the SDL satellite library bindings could be enabled with e.g., `BindSDL_Image`, `BindSDL_TTF`, etc. That would enable the lowest supported version of the library. To enable a more recent version, an additional identifier was required (`SDL_Image_205`, `SDL_TTF_2014`). That's just dumb. Now, only one identifier is required, e.g., `SDL_Image_205` will do the trick by itself now. `SDL_Image` is equivalent to the `SDL_Image_200`. The old approach is still supported, though, so current build configs should continue to work without change. See the loader documentation for details on the new function: https://github.com/BindBC/bindbc-loader There's also a bit about it in the bindbc-sdl documentation, along with the details about the approach to version identifiers. https://github.com/BindBC/bindbc-sdl/blob/master/README.md I've got some bigger packages to port over from Derelict yet (the OpenCL binding, for example). I've also had a request to include support for SDL's thread/mutex API so folks using DasBetterC can have access to it. That's all in the pipeline. Going forward, I plan to devote a handful of hours one day a week to bindbc until I've implemented everything on my task list, so it will get done sooner rather than later.
DIP 1030--Named Arguments--Final Review Begins
The Final Review for DIP 1030, "Named Arguments", has begun. The purpose of the Final Review is a last check to make sure everything is in good shape. Generally, we aren't looking for major revisions to the DIP unless someone notices something critical. This is a chance for any revisions made in the previous review round to be scrutinized. Even if no revisions were made, it's a final opportunity to catch any problems that may have been missed before. Please discuss the features of the proposal (its merits, its implementation, peripheral topics, etc.) in the Discussion Thread and save all review feedback (critiques on the content of the DIP: what to change, how to improve it, etc.) for the Feedback Thread. Discussion Thread: https://forum.dlang.org/post/osiiuzwesgmaegeko...@forum.dlang.org Feedback Thread: https://forum.dlang.org/post/lzpzaoaxzcxeijegf...@forum.dlang.org
Discussion Thread: DIP 1034--Add a Bottom Type (reboot)--Community Review Round 1 Begins
The first round of Community Review for DIP 1034, "Add a Bottom Type (reboot)", is now underway. Please discuss the DIP (its merits, its implementation, peripheral topics, etc.) in the Discussion Thread and save all review feedback (critiques on the content of the DIP: what to change, how to improve it, etc.) for the Feedback Thread. Discussion Thread: https://forum.dlang.org/post/ooofastmtzmuylnje...@forum.dlang.org Feedback Thread: https://forum.dlang.org/post/arcpszmdarekxtnsn...@forum.dlang.org
Re: Interfacing D with C: Arrays and Functions (Arrays Part 2)
On Tuesday, 28 April 2020 at 15:26:49 UTC, David Gileadi wrote: Another great article! Nit: in the following paragraph, did you really mean to say *are*? But again, even D’s safety features are 100% foolproof when calling C functions from D. Thanks and thanks!
Interfacing D with C: Arrays and Functions (Arrays Part 2)
I've finally gotten around to publishing the next article in my D and C series on the D blog. This is the second post about arrays, focusing on properly declaring in D functions from C that accept array parameters. The blog: https://dlang.org/blog/2020/04/28/interfacing-d-with-c-arrays-and-functions-arrays-part-two/ Reddit: https://www.reddit.com/r/programming/comments/g9o3wi/interfacing_d_with_c_arrays_and_functions_arrays/ HN: https://news.ycombinator.com/item?id=23007409
Discussion Thread: DIP 1033--Implicit Conversion of Expressions to Delegates--Community Review Round 1 Begins
The first round of Community Review of DIP 1033, "Implicit Conversion of Expressions to Delegates", has begun. Feedback Thread: https://forum.dlang.org/post/nxahrsukobybkezib...@forum.dlang.org Discussion Thread: https://forum.dlang.org/post/ecxdylguqkhtmdoml...@forum.dlang.org
Re: bindbc-sdl Updates
On Saturday, 18 April 2020 at 15:31:02 UTC, aberba wrote: There's this level of convenience that is triggered when you see a sample demo. It seems some library authors don't get it. loadSDL(); That's it. It's in the readme.
DIP 1029--Add throw as Function Attribute--Final Review Begins
The Final Review for DIP 1029, "Add throw as Function Attribute", has begun. Please use the Feedback thread for all feedback targeted specifically at the contents of the DIP: https://forum.dlang.org/post/qhtqeavhyzjfamhgc...@forum.dlang.org All posts in that thread must adhere to the rules summarized in the first post. Please visit the Discussion thread for free-form discussion of the DIP, the proposed feature(s), and tangential topics: https://forum.dlang.org/post/lyerouocavjvspqwv...@forum.dlang.org
Re: bindbc-sdl Updates
On Thursday, 16 April 2020 at 18:55:21 UTC, Luis wrote: On Wednesday, 15 April 2020 at 22:19:06 UTC, Mike Parker wrote: On Wednesday, 15 April 2020 at 21:54:16 UTC, Luis wrote: There isn't a "hello world" example with bindbc-sdl ? Would very usefull Everything you need to know that's specfic to the binding is in the readme. I was asking something like this : https://github.com/Zardoz89/dlang-bindbc-sdl-example1 Yeah, anybody could do this before reading SDL2 documentation, examining a few SDL2 examples on C/C++ and D (outdated derelict examples that only shows a translucent window). This take me two afternoons and was something very dumb. This kind of lack of examples or documentation, not helps to make D more popular. I disagree. There are numerous examples of SDL on the internet. There are sites full of SDL tutorials. bindbc-sdl is a binding. It doesn't change the API. I'm not going to write example programs for every library I create bindings for when plenty of examples exist.
Re: bindbc-sdl Updates
On Wednesday, 15 April 2020 at 21:54:16 UTC, Luis wrote: There isn't a "hello world" example with bindbc-sdl ? Would very usefull Everything you need to know that's specfic to the binding is in the readme.
Re: DustMite: the General-Purpose Data Reduction Tool (from the D Blog)
On Monday, 13 April 2020 at 13:06:30 UTC, Mike Parker wrote: Vladimir has contributed to the blog an article on the evolution of DustMite, looking at some of the challenges he had to overcome along the way. The blog: https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/ Reddit: https://www.reddit.com/r/programming/comments/g0ihse/dustmite_the_generalpurpose_data_reduction_tool/ HN: https://news.ycombinator.com/item?id=22855633
DustMite: the General-Purpose Data Reduction Tool (from the D Blog)
Vladimir has contributed to the blog an article on the evolution of DustMite, looking at some of the challenges he had to overcome along the way. The blog: https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/ Reddit: https://www.reddit.com/r/programming/comments/g0ihse/dustmite_the_generalpurpose_data_reduction_tool/
Re: bindbc-sdl Updates
On Friday, 10 April 2020 at 14:53:25 UTC, aberba wrote: On Wednesday, 8 April 2020 at 06:32:39 UTC, Mike Parker wrote: I've updated the BindBC bindings (to the Simple Direct Media Layer (SDL) library and its satellite libraries to support the following: [...] Mike have you considered a binding to a common tool like SFML (https://www.sfml-dev.org/)? Yes, which is why I have an SFML binding in Derelict. I’ll be porting it over to BindBC soonish.
bindbc-sdl Updates
I've updated the BindBC bindings (to the Simple Direct Media Layer (SDL) library and its satellite libraries to support the following: SDL 2.0.12 SDL_image 2.0.5 SDL_mixer 2.0.4 This is available in bindbc-sdl 0.16.0: http://bindbc-sdl.dub.pm/ A few notes: The SDL maintainers have moved to a system of labeling public releases with even patch levels and development releases with odd patch levels. SDL 2.0.12 is the first release of SDL under that system. The same goes for SDL_mixer 2.0.4. SDL_image 2.0.5 was released before it took effect. There is no difference in the public API of SDL_image versions 2.0.2, 2.0.3, 2.0.4, and 2.0.5, other than the value of the SDL_IMAGE_PATCHLEVEL constant. SDL_mixer 2.0.4 added support for OPUS files. The only API changes aside from the patchlevel constant are a couple of new values for the Mix_InitFlags and Mix_MusicType enums.
DIP 1032--Function pointers and Delegate Parameters...--Community Review Round 1 Begins
The first round of Community Review of DIP 1032, "Function pointers and Delegate Parameters Inherit Attributes from Function", has begun. Feedback Thread: https://forum.dlang.org/post/tkosvxedhztfjxsxt...@forum.dlang.org Discussion Thread: https://forum.dlang.org/post/kfftxaescqxzcaycy...@forum.dlang.org
Discussion Thread: DIP 1028--Make @safe the Default--Final Review Begins
The Final Review for DIP 1028, "Make @safe the Default", has begun. Please use the Feedback thread for all feedback targeted specifically at the contents of the DIP: https://forum.dlang.org/post/wkdpnzarkbtqryigh...@forum.dlang.org All posts in that thread must adhere to the rules summarized in the first post. Please visit the Discussion thread for free-form discussion of the DIP, the proposed feature(s), and tangential topics: https://forum.dlang.org/post/jelbtgegkwcjhzwze...@forum.dlang.org
DIP 1031--Deprecate Brace-Style Struct Initializers--Withdrawn
Walter has decided to withdraw DIP 1031, "Deprecate Brace-Style Struct Initializers", from the review process. Anyone who chooses to do so may take over the DIP at any time. Anyone who decides to take over an Abandoned or Withdrawn DIP should contact me to determine how to proceed.
Re: Release D 2.091.0
On Tuesday, 10 March 2020 at 13:24:41 UTC, Martin Nowak wrote: Glad to announce D 2.091.0, ♥ to the 55 contributors. This release comes with 64-bit Windows binaries, improvements on C++ integrations, a @safe std.bigint, and various bugfixes. http://dlang.org/download.html http://dlang.org/changelog/2.091.0.html -Martin The blog: https://dlang.org/blog/2020/03/17/d-2-091-0-released/ Reddit: https://www.reddit.com/r/programming/comments/fk93h9/d_20910_released/
Re: Tracing D Applications
On Tuesday, 17 March 2020 at 16:13:24 UTC, Steven Schveighoffer wrote: On 3/13/20 3:00 PM, Mike Parker wrote: This post by Alexandr Druzhinin shows three different approaches to tracing, using writef and external tools. Blog: https://dlang.org/blog/2020/03/13/tracing-d-applications/ Reddit: https://www.reddit.com/r/programming/comments/fi4qfw/tracing_d_applications/ typo: sorta of => sort of -Steve Thanks!
Re: Release D 2.091.0
On Tuesday, 17 March 2020 at 10:29:45 UTC, Anonymouse wrote: Looking forward to it, but curiously still no updates to the Arch Linux package repositories... https://www.archlinux.org/packages/community/x86_64/dmd/ Please contact the folks who maintain it.
Re: DConf 2020 Canceled
On Monday, 16 March 2020 at 19:36:20 UTC, Walter Bright wrote: On 3/16/2020 9:15 AM, bachmeier wrote: "Have an online conference" isn't especially helpful. There haven't been any detailed proposals, and Walter hasn't said anything one way or the other about doing something online. Oh, I'm quite in favor of an online conference. Anyone who wants to step up and take charge of it has my support. Working on it. A few people have contacted me with offers of advice and support. Should have something to announce in a few weeks.
Tracing D Applications
This post by Alexandr Druzhinin shows three different approaches to tracing, using writef and external tools. Blog: https://dlang.org/blog/2020/03/13/tracing-d-applications/ Reddit: https://www.reddit.com/r/programming/comments/fi4qfw/tracing_d_applications/
DConf 2020 Canceled
I really wish I didn't have to make this announcement, but in light of the COVID-19 outbreak and with an abundance of caution, the D Language Foundation and Symmetry Investments have agreed to cancel DConf 2020. Though it's possible that things will have cleared up by June, we can't be sure that will be the case. We don't want to put members of the D community at risk if things are not cleared up, or risk travel disruptions for those who do register and make travel plans. We decided it's better to cancel earlier rather than later to minimize the number of people who will need to cancel or rebook their travel arrangements. Personally, I was really looking forward to heading to London and seeing everyone again, but I do agree with the decision. We hope not many of you will be impacted by the decision and we're terribly sorry if you are.
Re: DConf Invited Keynote Speaker, Formal Call for Submissions & Early-bird Registration
On Tuesday, 3 March 2020 at 19:34:45 UTC, Dibyendu Majumdar wrote: Hi, I checked my emails again and spam folder as well - I did not receive an acknowledgment. Anyway, if you have received then its fine. It’s possible I didn’t see it. I replied to someone over the weekend. It was a presentation with a duration of something like “30 minutes plus time for questions”. If that wasn’t yours, then I haven’t seen it yet. I’m on the road until early next week and won’t have access to the dlang.org address until I get back.
Re: DConf Invited Keynote Speaker, Formal Call for Submissions & Early-bird Registration
On Monday, 2 March 2020 at 20:29:15 UTC, Dibyendu Majumdar wrote: On Thursday, 6 February 2020 at 14:19:13 UTC, Mike Parker wrote: I've just published the blog post that serves as the public launch (outside of this community) of early-bird registration and the call for submissions. I'm also very happy that I was able to include the announcement that our invited keynote speaker has been confirmed! Hi, I submitted a talk proposal but did not receive an acknowledgement. Please let me know if you have received the submission. Thank you Regards Dibyendu I’m pretty sure I replied to your email. Sometimes emails from soc...@dlang.org get marked as spam. But we did get it. Thanks for submitting!
Re: GSOC 2020 projects
On Monday, 24 February 2020 at 18:00:15 UTC, rikki cattermole wrote: Limited spots, somebody had to go. That’s the only reason they ever give for rejection AFAIK.
Re: DIP 1027---String Interpolation---Format Assessment
On Monday, 24 February 2020 at 08:43:57 UTC, Robert M. Münch wrote: Out of curiosity, how and who makes such a decision? Is there a voting? Is there a committee? Is there a structured pro/con overview and highlight of blocking-points that need to be resolved? The DIP review process is outlined here: https://github.com/dlang/DIPs The final decision rests with the language maintainers. Now, that means Walter and Atila. I mean, people spend a lot of time thinking, making suggestions, etc. and the end result is: we now have nothing. Which, IMO is the worst result for all. Not at all. In this case, as the DIP author, Walter could have chosen to revise the DIP with a new implementation. He chose not to. He wasn't persuaded by the arguments in the thread. Anyone else in the community is free to submit an alternative DIP for the same feature. Adam Ruppe has already done so: https://github.com/dlang/DIPs/pull/186 If that proposal and its review manage to convince Walter and Atila, then the feature gets in. As a community with highly skilled people I think there should be a way to come to a good solution, not only a good enough. If not, this doesn't shed light on D and the community... The DIP process is one way to approach that. It allows everyone to provide feedback and influence the drafting of the DIP. That requires convincing the DIP author to revise the DIP and ultimately convincing the language maintainers to accept it. It means there's a high barrier for acceptance, but in my own opinion that's how it should be.
DIP 1027---String Interpolation---Format Assessment
DIP 1027, "String Interpolation", has been rejected. The decision was primarily influenced by the lack of consensus over the implementation and the syntax demonstrated in the two review threads. As the DIP author, Walter also rejected the suggestion to go with an implementation that resolves to a library template. He sees that as equivalent to AST macros, a feature which he has previously rejected. https://github.com/dlang/DIPs/blob/4be15bd40381667c0ab1c0aef360d0daa4b8c82c/DIPs/rejected/DIP1027.md
D Blog News Roundup
There's new swag in the DLang Swag Emporium, work continues on porting DRuntime to WebAssembly and bringing D to iOS, and we need help preparing for a potentially upcoming documentation event. The blog: https://dlang.org/blog/2020/02/17/news-update-swag-platforms-documentation-help-and-more/ Reddit: https://www.reddit.com/r/d_language/comments/f582mk/news_update_swag_platforms_documentation_help_and/
DIP 1031--Deprecate Brace-Style Struct Initializers--Community Review Round 1 Begins
The first round of Community Review for DIP 1031, "Deprecate Brace-Style Struct Initializers", has begun. Please use the Feedback thread for all feedback targeted specifically at the contents of the DIP: https://forum.dlang.org/post/iywiuqqmevdghgbyr...@forum.dlang.org All posts in that thread must adhere to the rules summarized in the first post. Please visit the Discussion thread for free-form discussion of the DIP, the proposed feature(s), and tangential topics: https://forum.dlang.org/post/uivuxsycynvgvslkk...@forum.dlang.org
Re: DConf Invited Keynote Speaker, Formal Call for Submissions & Early-bird Registration
On Thursday, 6 February 2020 at 16:54:50 UTC, Les De Ridder wrote: On Thursday, 6 February 2020 at 14:19:13 UTC, Mike Parker wrote: Typo: On behalf of the D Language Foundation and Symmetry Investments, I want to thank everyone who participated in SAOC __2020__. Thanks!
DConf Invited Keynote Speaker, Formal Call for Submissions & Early-bird Registration
I've just published the blog post that serves as the public launch (outside of this community) of early-bird registration and the call for submissions. I'm also very happy that I was able to include the announcement that our invited keynote speaker has been confirmed! Blog: https://dlang.org/blog/2020/02/06/dconf-2020-submission-deadline-early-bird-registration-and-invited-keynote/ Reddit: https://www.reddit.com/r/programming/comments/ezsvyp/dconf_2020_call_for_submissions_earlybird/ Also sharing on HN.
DIP 1030--Named Arguments--Community Review Round 1 Begins
The first round of Community Review for DIP 1030, "Named Arguments", has begun. Please use the Feedback thread for all feedback targeted specifically at the contents of the DIP: https://forum.dlang.org/post/bizqhxszbobynrims...@forum.dlang.org All posts in that thread must adhere to the rules summarized in the first post. Please visit the Discussion thread for free-form discussion of the DIP, the proposed feature(s), and tangential topics: https://forum.dlang.org/post/ngjihdoyluxrikjzc...@forum.dlang.org
Re: DConf 2020 Early-Bird Registration & Submission Deadlines
On Monday, 27 January 2020 at 12:00:32 UTC, Mike Parker wrote: I'll open registration through PayPal once the official announcement goes out on the blog and social media. Both registration options will be available at dconf.org. The PayPal links are live: https://dconf.org/2020/index.html#registration The blog announcement is coming soon. Just waiting wrap up a bit of housekeeping regarding our invited keynote speaker!
wc in D: 712 Characters Without a Single Branch
Robert Schadek was inspired by a post he saw on Hacker News a while back showing an implementation of wc in Haskell totaling 80 lines. He decided he could do better in D. So he did. This post on the D blog shows what he came up with and also provides a brief introduction to ranges. The blog: https://dlang.org/blog/2020/01/28/wc-in-d-712-characters-without-a-single-branch/ Reddit: https://www.reddit.com/r/programming/comments/ev5w91/wc_in_d_712_characters_without_a_single_branch/ It's also on Hacker News, but please don't post a direct link to it if you find it there. https://news.ycombinator.com/
Re: D For Data Science: Calling R from D
On Monday, 27 January 2020 at 14:20:20 UTC, Adam D. Ruppe wrote: On Monday, 27 January 2020 at 14:16:47 UTC, Mike Parker wrote: https://dlang.org/blog/2020/01/27/d-for-data-science-calling-r-from-d/ "D [...] interoperability with C (in many cases as simple as adding an #include directive to import a C header file), " like it is simple... but it isn't a #include directive unless you use third party things (that have their own issues). Minor thing but can be misleading to newcomers. Good point. I've added a mention of dpp and a link to the Project Highlight on the blog.
Re: DConf 2020 Early-Bird Registration & Submission Deadlines
On Monday, 27 January 2020 at 13:30:20 UTC, Rory McGuire wrote: There is a typo at: *while enhanching the D ecosystem * R Thanks, Rory!
D For Data Science: Calling R from D
You've seen Lance Bachmeier posting in the forums under the bachmeier handle. He's put together a post for the D Blog showing how to integrate R into a D program. The Blog: https://dlang.org/blog/2020/01/27/d-for-data-science-calling-r-from-d/ Reddit: https://www.reddit.com/r/programming/comments/euobu1/d_for_data_science_calling_r_from_d/ It's also on Hacker News. If it isn't on the front page, just search for "D for Data Science". Please don't post a direct link if you find it on there, not until after it's been on there a few days. https://news.ycombinator.com/
DConf 2020 Early-Bird Registration & Submission Deadlines
I'm currently planning to officially launch early-bird registration for DConf 2020 in early February, hopefully in tandem with news that we have confirmed our invited keynote speaker. Consider this announcement a "soft launch". Those of you eager to get your registrations squared away can do so right now through our Flipcause registration form: https://www.flipcause.com/secure/cause_pdetails/NzQ0NzA= I'll open registration through PayPal once the official announcement goes out on the blog and social media. Both registration options will be available at dconf.org. Once again, the regular registration rate will be $400 USD + 20% VAT, for a total of $480. The early-bird registration is a 15% discount: $340 + 20% VAT for a total of $408 (£312.15 at the January HMRC exchange rate, which may change in February). Early-bird registration is available until April 19 AOE. For those of you intending to make any submissions, that is also the date we'll notify submission authors of their submission status. The submission deadline is April 12 AOE.
DIP Reviews: Discussion vs. Feedback
I'm making a change to the way we solicit feedback during DIP review rounds. The goal is to separate explicit feedback from discussion. Discussion is vital to the process, but it also makes it difficult to find the actionable feedback buried in the 20+ pages that some DIP reviews generate (particularly Walter's). So henceforward, we're going with two threads per review round: one for discussion and one for feedback (critique). It's all laid out in this blog post: https://dlang.org/blog/2020/01/26/dip-reviews-discussion-vs-feedback/ Also on reddit: https://www.reddit.com/r/d_language/comments/eu4fi8/dip_reviews_discussion_vs_feedback/
DIP 1029---Add throw as Function Attribute---Community Review Round 1 Begins
The first round of Community Review for DIP 1029, "Add throw as Function Attribute", has begun. To participate, please visit the review thread for the details: https://forum.dlang.org/post/sbdrybtyfkxfhxxjg...@forum.dlang.org *Please leave all feedback in the review thread rather than here!* Thanks!
Re: DConf 2020: Double Decker Edition
On Friday, 10 January 2020 at 21:58:27 UTC, Murilo wrote: On Saturday, 4 January 2020 at 12:23:40 UTC, Mike Parker wrote: The announcement is on the blog and dconf.org is up to date. Read all about it! https://dlang.org/blog/2020/01/04/dconf-2020-double-decker-edition/ https://dconf.org/2020/index.html Is it okay if I make many submissions? I have several ideas in mind. Yes.
Re: On the Blog: Recent D Compiler Releases
On Wednesday, 8 January 2020 at 18:17:40 UTC, Rainer Schuetze wrote: With the current GC implementation, it’s illegal to perform any GC operations during finalization. There are some exceptions, namely addRoot/addRange and removeRoot/removeRange and the iterators over roots or ranges. I guess it might be possible to support some querying functions during finalization, too. I'll replace the "any" with "some". Thanks!
Re: DConf 2020: Double Decker Edition
On Friday, 10 January 2020 at 01:11:44 UTC, Murilo wrote: On Saturday, 4 January 2020 at 12:23:40 UTC, Mike Parker wrote: The announcement is on the blog and dconf.org is up to date. Read all about it! https://dlang.org/blog/2020/01/04/dconf-2020-double-decker-edition/ https://dconf.org/2020/index.html Once I submit a proposal for a talk, how long will it take to be reviewed and replied to? Soon, I'll update the website with all of the deadline dates. There will be a submission deadline and a deadline for the announcement of selections. Typically, the announcement takes place one week after the submission deadline and the submission authors are notified by email the day before. I anticipate the submission deadline will be some time in March.
On the Blog: Recent D Compiler Releases
I've posted an overview of LDC 1.19.0 and DMD 2.090.0 on the blog, and a reminder that GDC is available as part of the GCC 9 series. The blog: https://dlang.org/blog/2020/01/08/recent-d-compiler-releases/ Reddit: https://www.reddit.com/r/programming/comments/elq5yx/recent_d_compiler_releases_ldc_dmd_and_gdc/
Re: ssll - simple shared library loader
On Sunday, 5 January 2020 at 23:23:48 UTC, Oleg B wrote: Nice work! One thing I would recommend, though, is that you not bake in extern(C). Some libraries require extern(System) (because they're stdcall on Windows and cdecl everywhere else). There's also the issue with the Windows stdcall name-mangling scheme in 32-bit libraries, where the symbol name incorporates the size of the function parameters. Some stdcall libraries (like OpenGL) are configured to compile with the unmangled names, but others (like FreeImage) are not and require transforming the symbol name into the mangled form. So to be robust, you'll want to implement support for both into SSLL. It's analog of bindbc, but without need write boilerplate code. May be bindbc is designed for another cases, but I don't understand need writing triple definition for one function (pointer, loading, wrap-function). There are only two declarations required for the dynamic bindings in BindBC: an alias and a pointer. And of course the loader is separate. The reason is historical. When I was working on the earliest version of Derelict back in 2004, we didn't have all the fancy compile-time features we have now. I (and a couple of contributors) tried doing it by declaring the function pointers without aliases, but we ran into a couple of issues and settled for taking the alias + pointer approach. (It's been so long that I can't recall what the issues were). In the 4th iteration of Derelict (the bindings in DerelictOrg on github), I experimented with UDAs and single function declarations that I could generate static and dynamic bindigs with. But I was still mixing in the alias and pointer declarations for the dynamic bindings and could never figure out a way to distinguish between them during introspection. I posted about it here on the forums and no one had an answer, so I gave up. So bindbc is implemented the way it is because that's the way I've done it for almost 16 years.
Re: DConf 2020: Double Decker Edition
On Sunday, 5 January 2020 at 18:08:28 UTC, DanielG wrote: Is there a deadline for submissions? Not looking to inconvenience the evaluation team, just busy with something else for the next few weeks and wanting to give a submission the attention it deserves. I’ll update the site with the submission deadline and the early-bird & regular registration periods as soon as we get the dates sorted. The submission deadline will likely be some time in March.
DConf 2020: Double Decker Edition
The announcement is on the blog and dconf.org is up to date. Read all about it! https://dlang.org/blog/2020/01/04/dconf-2020-double-decker-edition/ https://dconf.org/2020/index.html
DIP 1028---Make @safe the Default---Community Review Round 1 Begins
The first round of Community Review for DIP 1028, "Make @safe the Default", has begun. To participate, please visit the review thread for the details: https://forum.dlang.org/post/ejaxvwklkyfnksjkl...@forum.dlang.org *Please leave all feedback in the review thread rather than here!* Thanks!
DIP 1024---Shared Atomics---Accepted
DIP 1024, "Shared Atomics", was accepted without comment. https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1024.md
Re: Beta 2.090.0
On Sunday, 22 December 2019 at 18:51:45 UTC, berni44 wrote: On Sunday, 22 December 2019 at 15:23:32 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.090.0 release, ♥ to the 48 contributors. I'm wondering, why I'm listed twice there (as Bernhard Seckinger and as berni44). IMHO berni44 should not have been listed there... Do I have to change something in my git settings to get this right? You can submit a PR to add a mapping to tools/.mailmap: https://github.com/dlang/tools/blob/master/.mailmap https://github.com/git/git/blob/master/Documentation/mailmap.txt
Re: Beta 2.090.0
On Sunday, 22 December 2019 at 15:27:15 UTC, rikki cattermole wrote: On 23/12/2019 4:23 AM, Martin Nowak wrote: Glad to announce the first beta for the 2.090.0 release, ♥ to the 48 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.090.0.html As usual please report any bugs at https://issues.dlang.org -Martin 404'ing The changelog, that is.
DIP 1027---String Interpolation---Community Review Round 1 Begins
The first round of Community Review for DIP 1027, "String Interpolation", has begun. To participate, please visit the review thread for the details: https://forum.dlang.org/post/abhpqwxqgiyzgqxmj...@forum.dlang.org *Please leave all feedback in the review thread rather than here!* Thanks!
Goings-on in DLand
My latest post on the D Blog is an update on some current and upcoming events, a thank you note to all of our contributors, and a plea to help us fill our ongoing need for contributions.
Re: Goings-on in DLand
On Tuesday, 10 December 2019 at 10:09:22 UTC, Mike Parker wrote: My latest post on the D Blog is an update on some current and upcoming events, a thank you note to all of our contributors, and a plea to help us fill our ongoing need for contributions. https://dlang.org/blog/2019/12/10/goings-on-in-dland/