Re: LDC 1.37.0
On Sunday, 3 March 2024 at 14:46:34 UTC, kinke wrote: Glad to announce LDC 1.37.0. Major changes: * Based on D 2.107.1. * Important fix wrt. if-statement elision on constant condition. Full release log and downloads: https://github.com/ldc-developers/ldc/releases/tag/v1.37.0 Thanks to all contributors & sponsors! Thank you for the hard work!
Re: D Language Foundation November 2023 Monthly Meeting Summary
On Monday, 4 March 2024 at 11:07:07 UTC, Mike Parker wrote: ### Steve and Me I have to apologize to Steve. I managed to botch the initial recording, so whatever he and I said at the top of the meeting is lost. I'm pretty sure I talked about preliminary planning for DConf '24, but beyond that, I don't recall. I also know that whatever Steve reported, it wasn't anything that sparked debate. The first audible words I have from him are, "That's about all I have, really." Sorry, I can't remember what I talked about in that timeframe. Lost to history I guess. (UPDATE: Ultimately, [Átila finished the proposal](https://github.com/atilaneves/DIPs/blob/string-interpolation/Interpolation.md). After [a long discussion in the forums](https://forum.dlang.org/thread/unhv5u$1gps$1...@digitalmars.com), Walter approved the feature and [it was merged](https://github.com/dlang/dmd/pull/15715). Steven Schveighoffer [is working on a spec PR](https://github.com/schveiguy/dlang.org/blob/istring/spec/istring.dd).) The spec is updated (that link is dead because I deleted the branch, always good to use the `y` button on github to get a link to the direct commit). You can still see the PR here: https://github.com/dlang/dlang.org/pull/3768 To see the spec, just go to [the current spec](https://dlang.org/spec/istring.html), for some reason we publish the master branch of the spec as the current release. -Steve
Re: Is D programming friendly for beginners?
On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote: I want to start learning D programming language it looks interesting Answering thread question: It can be complicated, D has a lot of features and mastering it will take quite a lot of time. Since D is statically typed compiled system programming language it is still will be harder to grasp than say Python. The core language is pretty neat and shouldn't cause much trouble, by core here I mean basic templates, basic mixins, basic classes and operator overloading, version conditioning and such. Ranges and the standard library approach to "Design-by-Introspection" will definitely require some time to get used to, so expect to dive into std sources a lot for real world examples. Advanced templates is still not as hard as C++ though, and there is no some of the more quirks that C++ has. Few things to avoid until you absolutely know what you are doing is @nogc and betterC. There is also a "system" part in it that ultimately will require you to understand what is actually a executable file and what is a linker, knowing how to use debuggers, etc... Finally, D is flexible enough to delay touching some of those features until you are ready, and unlike practically any other language it doesn't forces any philosophy or zen or whatever ideology on you. Before you started though - note that D is not considered "enterprisey" enough language so don't expect your favorite JetBrains IDE or other fancy tooling, the debuggers are just minimally working, and generally any other ecosystem tools (if any) too. This means you have to understand more about how these things works and this may add extra complexity and make you think the whole language is not there yet.
Re: Is D programming friendly for beginners?
On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote: I want to start learning D programming language it looks interesting Please use "Learn" Group of the forum, this part of the forum for Announcements. Here are some useful links: * Tour - https://tour.dlang.org * Online Book - http://ddili.org/ders/d.en/index.html * Other materials in Wiki - https://wiki.dlang.org/The_D_Programming_Language
Is D programming friendly for beginners?
I want to start learning D programming language it looks interesting
Re: D Language Foundation November 2023 Monthly Meeting Summary
On Monday, 4 March 2024 at 11:19:57 UTC, Mike Parker wrote: On Monday, 4 March 2024 at 11:17:16 UTC, Sergey wrote: On Monday, 4 March 2024 at 11:07:07 UTC, Mike Parker wrote: snip Thanks for keep posting it just a bit awkward to read in March about November.. Yeah, sorry about that. I'll get caught up this month. Then I'll be back to posting them on a regular schedule. Regardless, they make for good reading. Thanks!
D Language Foundation October/November 2023 Planning Updates
## October We had no regular planning sessions in October. Instead, there were two workgroup meetings focused on DMD as a library. These took place after the monthly meeting and involved several people who were stakeholders, were interested in the project, or had some level of experience with it. The invitation list included Dennis Korpel, Jan Jurzitza (WebFreak), Prajwal S N, Razvan Nitu, Ali Çehreli, Luís Ferreira, Martin Kinkelin, and Walter Bright. The main focus of these meetings was a proposal Razvan had regarding the possibility of overriding AST Nodes, something [he'd brought up in our September meeting](https://forum.dlang.org/thread/hetwfhikjqwzlvywm...@forum.dlang.org). His idea was to enable it via mixins. Walter was reluctant to take that approach and suggested AST nodes should just be simple classes with fields and helper methods. That approach would simplify how AST families are created, but wouldn't fix the underlying issue of being unable to override a node's behavior. (Also see [Razvan's DConf '23 talk on the topic](https://youtu.be/eKT3MYpRgYA).) In the end, they agreed to refactor the AST implementation by pulling all semantic routines and fields out of the AST nodes so that `ASTBase` will only contain imports of AST nodes as opposed to the duplicate implementations it contains now. Once this is complete, they'll revisit Razvan's idea about the mixins. Razvan has since gotten started on this project. You can [track its progress in our project tracker](https://github.com/orgs/dlang/projects/41/views/1). He recently [published a blog post](https://dlang.org/blog/2024/02/22/dmd-compiler-as-a-library-a-call-to-arms/) as a call to arms seeking assistance. A handful of people have stepped up, but there's still a lot of work. Anyone looking to make some impactful contributions should read the blog post and [the relevant section of the contributor guide](https://github.com/dlang/dmd/blob/master/CONTRIBUTING.md#refactoring-the-dmd-ast) to learn how to help out. ## November We had one planning session in November. It was held the week before our monthly meeting. The main points of discussion were details about the Bugzilla to GitHub migration and more implementation details for DMD as a library. For the former, Robert had already migrated the Visual D issues and wanted feedback on the order in which to migrate the remaining projects. Everyone agreed he should go from the project with the lowest issue count to the highest. We also discussed some details about dlang-bot, how to handle attachments, and some more implementation details. The other issue was regarding `extern(C++)` classes in DMD. These are `extern(C++)` so that they're available to LDC, GDC, and any other future tools and compilers that need to integrate the D compiler into a C++ codebase. However, this had caused problems for people using DMD as a library in practice. For example, forgetting that the class is `extern(C++)` when subclassing it; this caused problems when trying to use features unavailable for `extern(C++)`, e.g., dynamic arrays. There was a workaround for that particular case, but a new one had popped up when the overriding class was templated and was instantiated with, e.g., a dynamic array type. Razvan expected this would continue to be an annoying problem and was looking for ideas to solve it. We discussed the possibility of making the DMD as a library classes `extern(D)` instead. Ultimately, the consensus was that though the visitor classes could be made such, there was no simple way to do it for the AST nodes. We have more important issues than this to focus on right now.
Re: D Language Foundation November 2023 Monthly Meeting Summary
On Monday, 4 March 2024 at 11:17:16 UTC, Sergey wrote: On Monday, 4 March 2024 at 11:07:07 UTC, Mike Parker wrote: snip Thanks for keep posting it just a bit awkward to read in March about November.. Yeah, sorry about that. I'll get caught up this month. Then I'll be back to posting them on a regular schedule.
Re: D Language Foundation November 2023 Monthly Meeting Summary
On Monday, 4 March 2024 at 11:07:07 UTC, Mike Parker wrote: snip Thanks for keep posting it just a bit awkward to read in March about November..
D Language Foundation November 2023 Monthly Meeting Summary
# Summary The D Language Foundation's monthly meeting for November 2023 took place on Friday, the 10th, at 16:00 UTC. It lasted around one hour and ten minutes. ## The Attendees The following people attended the meeting: * Walter Bright * Martin Kinkelin * Mathias Lang * Átila Neves * Mike Parker * Adam D. Ruppe * Robert Schadek * Steven Schveighoffer * Adam Wilson ## The Summary ### Steve and Me I have to apologize to Steve. I managed to botch the initial recording, so whatever he and I said at the top of the meeting is lost. I'm pretty sure I talked about preliminary planning for DConf '24, but beyond that, I don't recall. I also know that whatever Steve reported, it wasn't anything that sparked debate. The first audible words I have from him are, "That's about all I have, really." ### Adam Ruppe (AR) __@standalone__ The first item on AR's list was the `@standalone` attribute that he had proposed in a previous meeting. He said he'd like to see something happen with that. [Dennis had a PR for it](https://github.com/dlang/dmd/pull/15537). AR had pinged him about it, and Dennis had made a few updates. He just wanted to make sure it wasn't forgotten. Walter asked for a link to the PR, and Adam said he'd get it to him later. (__UPDATE__: The PR was eventually merged and [released in DMD 2.107.0](https://dlang.org/changelog/2.107.0.html#dmd.standalone-attribute).) __String interpolation__ Next, AR brought up the string interpolation implementation. He said he had a quite a full implementation with a lot of examples down. He said that several people had tried it and even those who weren't convinced before had come around. He wanted to get that merged as well. Walter asked if there was a specification for it. AR said it was basically the same as DIP 1036, but slightly different. Walter said that's what he means; it needs to be a complete and correct specification for what the proposal is. AR said Walter could go read the code. Walter said we don't document things by telling people to go read the code. This sparked a discussion regarding the requirement for a spec and the history of string interpolation proposals. In the end, Átila offered to try out AR's implementation and write out the spec as he understood it, and asked if Steve or AR would be willing to correct it. Steve said it was just a simplified version of 1036, so it shouldn't take much time to write the proposal as long as it wasn't something that's going to be dead on arrival. Átila said he was volunteering to write the spec, but he was going to be on holiday for a couple of weeks and wouldn't get started on it until sometime after he got back. Walter said the last time he had reviewed the proposal, he'd been excoriated by people telling him "that's not what the actual implementation is." Steve noted that the proposal Walter had reviewed was an incomplete one by John and Andrei that they hadn't touched in years and said that Walter had misunderstood the point of some of the examples. Átila confirmed he would write the spec. Walter and Steve both said "all right." AR said he'd follow up on it because he really wanted to see it done. He'd used it in production and it was very useful. If Átila had any questions about what it did, he should try it. Átila reiterated that he was going to try it first and document it after, and would ask AR to correct his understanding if it was wrong. (UPDATE: Ultimately, [Átila finished the proposal](https://github.com/atilaneves/DIPs/blob/string-interpolation/Interpolation.md). After [a long discussion in the forums](https://forum.dlang.org/thread/unhv5u$1gps$1...@digitalmars.com), Walter approved the feature and [it was merged](https://github.com/dlang/dmd/pull/15715). Steven Schveighoffer [is working on a spec PR](https://github.com/schveiguy/dlang.org/blob/istring/spec/istring.dd).) __Bugzilla to GitHub transition__ Next, AR said people had been asking about the timeline for the Bugzilla to GitHub transition. Robert said he had tested the migration API with [the Visual D issues](https://github.com/dlang/visuald/issues) and that worked. But in a recent planning session, potential issues with the dlang bot had come up. He detailed his understanding of what the bot was doing and what he thought he needed to change to ensure everything keeps working post-migration. It was just a matter of making the time to investigate and implement everything. AR said it's fair to say we're probably still looking at several months. Robert said he'd do what he could to not make it that long. __Status of editions and the future of Phobos__ Next, AR asked about the status of the editions proposal and plans for the future of Phobos. He figured they would be related. Átila said the editions proposal wasn't finished yet, and he was now going to kick it further down the road to work on the string interpolation spec. Átila said AR was probably right that the
Re: A math expression parser, written fully in D.
On Saturday, 2 March 2024 at 14:05:03 UTC, Murilo wrote: I've finally finished my math expression parser, written totally in D. It is able to interpret and solve any mathematical expression. https://github.com/MuriloMir/Math-expression-parser Nice. I have also written one some weeks ago. https://github.com/aferust/evalex