Re: LDC 1.37.0

2024-03-04 Thread Mike Shah via Digitalmars-d-announce

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

2024-03-04 Thread Steven Schveighoffer via Digitalmars-d-announce

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?

2024-03-04 Thread evilrat via Digitalmars-d-announce

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?

2024-03-04 Thread Sergey via Digitalmars-d-announce

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?

2024-03-04 Thread Fidele via Digitalmars-d-announce
I want to start learning D programming language it looks 
interesting


Re: D Language Foundation November 2023 Monthly Meeting Summary

2024-03-04 Thread jmh530 via Digitalmars-d-announce

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

2024-03-04 Thread Mike Parker via Digitalmars-d-announce

## 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

2024-03-04 Thread Mike Parker via Digitalmars-d-announce

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

2024-03-04 Thread Sergey via Digitalmars-d-announce

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

2024-03-04 Thread Mike Parker via Digitalmars-d-announce

# 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.

2024-03-04 Thread Ferhat Kurtulmuş via Digitalmars-d-announce

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