Re: Release D 2.108.0
On Tuesday, 2 April 2024 at 00:18:10 UTC, Steven Schveighoffer wrote: On Monday, 1 April 2024 at 22:34:14 UTC, Iain Buclaw wrote: Glad to announce D 2.108.0, ♥ to the 36 contributors. This release comes with 8 major changes and 36 fixed Bugzilla issues, including: [...] Also in this release -- Interpolation Expression Sequences (a.k.a. string interpolation). Looks like a pretty sweet release to upgrade to! -Steve +1 ! The first since months. :-) Named Arguments +1
Re: Beta 2.108.0
On Saturday, 16 March 2024 at 09:26:20 UTC, Iain Buclaw wrote: The RC for 2.108 has been released, which includes the following changes from the initial beta: - Named Arguments is now implemented and documented as a new feature in this release. The beta supports the feature, but was left undocumented while some remaining issues were being fixed. - Hexstrings now implicitly convert to integer arrays. The beta had introduced support to allow casting to arrays only. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.108.0.html Great release! "Named Arguments" and "String Interpolation" called: "Interpolated Expression Sequences"
Re: fastcgi-native
On Thursday, 14 March 2024 at 16:02:50 UTC, Ferhat Kurtulmuş wrote: [...] Github page has some information.Nowadays dub web site doesn't display the entire readme.md, I don't know why. I only implemented what I need. it may not cover all possible situations. Maybe I improve it in the future, PRs are welcome. https://github.com/aferust/fastcgi-native Ok. Thank You!
Re: fastcgi-native
On Monday, 11 March 2024 at 09:10:57 UTC, Ferhat Kurtulmuş wrote: A small utility if anyone needs. https://github.com/aferust/fastcgi-native https://code.dlang.org/packages/fastcgi-native https://fastcgi-native.dpldocs.info/v0.0.1/index.html fastcgi Undocumented in source. Looks hart to use...?
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 The free digital book from Ali, is written to fit your need: https://ddili.org/ders/d.en/index.html
Re: Happy New Year!
On Wednesday, 3 January 2024 at 01:25:29 UTC, Walter Bright wrote: Along with my best wishes for a happy and prosperous 2024 to all the DLF community members, and their families and friends. And BIG THANK YOU, to the whole community!
Re: D Language Foundation July 2023 Monthly Meeting Summary
On Friday, 11 August 2023 at 13:37:57 UTC, Mike Parker wrote: The D Language Foundation's monthly meeting for July 2023 took place on the 14th. [...] The idea was that once a library works in D and is debugged, it will stay working in D unless it's something we can't live with in older code. I am very happy, that the basic idea behind an LTS Version was discussed, with a/this outcome! Thank you, to the DLF Team! Best regards EmTee
Release D 2.100.2
Glad to announce D 2.100.2, ♥ to the 18 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.100.2, see the changelog for more details. http://dlang.org/changelog/2.100.2.html -Martin
Beta 2.100.2
Glad to announce the first beta for the 2.100.2 point release, ♥ to the 16 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.100.2.html As usual please report any bugs at https://issues.dlang.org N.B.: We had some delays to clarify the expired EV certificate and the next releases will ship without signed Windows binaries due to the complications and cost of EV certificates. -Martin
Re: New WIP DUB documentation
On Thursday, 18 August 2022 at 20:00:10 UTC, Bastiaan Veelo wrote: That's already possible, as unrecognised items are ignored. This is however not flexible enough, as comments are not so much wanted for adding explanations but much more for commenting out specific parts. It does work sometimes: you can for example disable `preBuildCommands` by editing it to `preBuildCommandsDISABLED`. I don't think you can comment out a dependency this way, and you cannot comment out an item from an array like ```json { "preBuildCommands": [ "step one", #"step two", "step three" ] } ``` -- Bastiaan. Ok, thank you, got it.
Re: New WIP DUB documentation
On Monday, 15 August 2022 at 21:32:23 UTC, WebFreak001 wrote: Hi all, I'm currently working on new revamped DUB documentation, check it out if you want, it currently contains most old documentation plus a big bunch of new documentation: https://docs.webfreak.org/ Looks great! What about the following idea about **comments for dub.json**: Allow the key "comment" inside the json file and alter DUB to remove all "comment" key value pairs at the beginning of parsing. So the file is still valid json but comments are possible like in dub.sdl. ``` { "comment" : "dub.json can contain comments,too!", "name": "myproject", "description": "A little web service of mine.", "authors": ["Peter Parker", "John Doe"], "homepage": "http://myproject.example.com;, "license": "GPL-2.0", "dependencies": { "vibe-d": "~>0.9.5" } } ```
Re: importC | Using D with Raylib directly | No bindings | [video]
On Sunday, 7 August 2022 at 01:09:58 UTC, Ki Rill wrote: Testing out importC with Raylib. Here is the [link](https://www.youtube.com/watch?v=1BrvRkZdGOA). Very cool and important to show how simple this works. **Thank you!**
Release D 2.100.0
Glad to announce D 2.100.0, ♥ to the 41 contributors. This release comes with improved C++ header gen, a new `@mustuse` attribute to enforce return-type error checking, a contract invariant version identifier, non-transitive inout returns, and many more improvements. http://dlang.org/download.html http://dlang.org/changelog/2.100.0.html -Martin
Release Candidate [was: Re: Beta 2.100.0]
On Friday, 22 April 2022 at 09:24:00 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.100.0 release, ♥ to the 40 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.100.0.html Release Candidate is live now. As usual please report any bugs at https://issues.dlang.org -Martin
Beta 2.100.0
Glad to announce the first beta for the 2.100.0 release, ♥ to the 40 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.100.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.099.1
Glad to announce D 2.099.1, ♥ to the 12 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.099.0, see the changelog for more details. http://dlang.org/changelog/2.099.1.html -Martin
Beta 2.099.1
Glad to announce the first beta for the 2.099.1 point release, ♥ to the 11 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.099.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.099.0
Glad to announce D 2.099.0, ♥ to the 100 contributors. This release comes with __traits(parameters), unittests only from root modules, throw expressions, and plenty of more changes. http://dlang.org/download.html http://dlang.org/changelog/2.099.0.html -Martin
Release Candidate [was: Re: Beta 2.099.0]
On Tuesday, 15 February 2022 at 13:06:47 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.099.0 release, ♥ to the 99 contributors. Release Candidate is live now. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.099.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: Our New Pull-Request and Issue Manager
On Thursday, 24 February 2022 at 13:05:33 UTC, Mike Parker wrote: [...] He is a frequent contributor and for the past several months has been working on one of the volunteer strike teams organized by Razvan Nitu, our other PR & Issue Manager. Everyone, please congratulate Dennis Korpel on his new job! This are very good news! A big **THANK YOU** to Dennis, Razvan, Symmetry and the Dlang Team (Mike :-))
Re: Beta 2.099.0
On Tuesday, 15 February 2022 at 13:06:47 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.099.0 release, ♥ to the 99 contributors. [...] http://dlang.org/changelog/2.099.0.html [...] Thank you! It is amazing: ♥ to 99 contributors! (Should I say the language is extremely alive!) Regards MT
Beta 2.099.0
Glad to announce the first beta for the 2.099.0 release, ♥ to the 99 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.099.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: Added copy constructors to "Programming in D"
On Thursday, 13 January 2022 at 09:21:46 UTC, Andrea Fontana wrote: On Saturday, 8 January 2022 at 13:23:52 UTC, Imperatorn wrote: On Saturday, 8 January 2022 at 02:07:10 UTC, Ali Çehreli wrote: 1) After about three years, I finally added copy constructors: [...] Will the physical book also be updated? Thanks! I don't think it is possible. You have to buy a new copy when published. /s 藍藍藍
Re: New Year DLang News: Hello 2022
On Wednesday, 5 January 2022 at 11:09:45 UTC, Mike Parker wrote: My latest post on the D Blog summarizes some of the many little things that added up to make 2021 an overall good year for D, provides some updates on current happenings, and lists a few things we can expect to see in 2022. [...] Happy New Year everyone! **And a big thank you** to everyone who makes D what it is: (insert the most suitable description here)! Martin T.
Release D 2.098.1
Glad to announce D 2.098.1, ♥ to the 18 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.098.1, see the changelog for more details. http://dlang.org/changelog/2.098.1.html -Martin
Re: Beta 2.098.1
On Sunday, 12 December 2021 at 22:22:34 UTC, Adam Ruppe wrote: On Sunday, 12 December 2021 at 22:01:57 UTC, Martin Nowak wrote: http://dlang.org/changelog/2.098.1.html 404'd! Yes sorry, it's tricky for me to wait with the announcement till the website PR & deployment.
Beta 2.098.1
Glad to announce the first beta for the 2.098.1 point release, ♥ to the 18 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.098.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: Restrict type of function parameter to a defined list of types?
On Sunday, 12 December 2021 at 14:11:48 UTC, Paul Backus wrote: You can use a [template constraint][1]: Hi Paul, yes! thats it, Thanks. I am facepalming me right now because have been on that webpage and missed that point.
Re: Restrict type of function parameter to a defined list of types?
On Sunday, 12 December 2021 at 13:21:06 UTC, Adam D Ruppe wrote: On Sunday, 12 December 2021 at 13:11:58 UTC, Martin B wrote: Just add a forwarding overload: Hi Adam, i am wondering if there is another possibility without having to create overloads for each parameter type - something like this pseudocode: ``` Nullable!string str(T : {string, Nullable!string}) (T setter) { return this._str = setter; } ```
Restrict type of function parameter to a defined list of types?
Hi everyone, lets say that required is a setter method: ``` Nullable!string str(Nullable!string setter) { return this._str = setter; } ``` The user should be able to: ``` auto a = new A(); a.str = "abc"; ``` As the setters parameter is defined to be of type `Nullable!string`, the compiler complains. So the user need to do `a.str = nullable("abc");` I guess a solution could be to define the setter as: ``` Nullable!string str(T)(T setter) { return this._str = setter; } ``` ^stupid question: Is this the correct way to restrict the parameter type to be `string` or `Nullable!string` or is there a more precise way to restrict? BTW: here is a more complete simple example of what i am talking about: https://run.dlang.io/is/zP4vkb
Re: GDC has just landed v2.098.0-beta.1 into GCC
On Tuesday, 30 November 2021 at 19:37:34 UTC, Iain Buclaw wrote: Hi, The latest version of the D language has [now landed](https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5fee5ec362f7a243f459e6378fd49dfc89dc9fb5) in GCC. [...]
Nice example for operator overload resulting in readable linear algebra expressions
I just want to share a view lines of code. The availability of operator overloading can result in very short and precise code for linear algebra. To test/explore it a little I just modified the alias this example: ``` #!/usr/bin/env rdmd struct Point { double[2] p; // Forward all undefined symbols to p alias p this; auto opBinary(string op)(Point rhs) { static if (op == "+") { Point ret; ret[0] = p[0] + rhs.p[0]; ret[1] = p[1] + rhs.p[1]; return ret; } else static if (op == "-") { Point ret; ret[0] = p[0] - rhs.p[0]; ret[1] = p[1] - rhs.p[1]; return ret; } else static if (op == "*") return p[0] * rhs.p[0] + p[1] * rhs.p[1]; else static assert(0, "Operator " ~ op ~ " not implemented"); } } void main() { import std.stdio;// : writefln,write; // Point behaves like a `double[2]` ... Point p1, p2; p1 = [2, 1], p2 = [1, 1]; // ... but with extended functionality writef("p1*(p1 + p2) = %s*(%s + %s) =", p1, p1, p2); write(p1 * (p1 + p2)); // compare this to code without operator overload: } ``` Compare: ``p1 * (p1 + p2)`` to something with a structure like ``dot(p1,(add(p1,p2)).`` (With the Dlangs UFCS it might become: ``p1.dot(p1.add(p2))`` )
Re: writeln the struct from the alis this Example from the home page
On Thursday, 18 November 2021 at 16:08:22 UTC, Paul Backus wrote: On Thursday, 18 November 2021 at 13:51:42 UTC, Martin Tschierschke wrote: [...] You can define a `toString` method, like this: ```d string toString() { import std.conv; return p.to!string; } ``` You can find more information about `toString` in the documentation here: https://dlang.org/phobos/std_format_write.html By the way, the reason your original version does not work is that `p` is `private`, so `writeln` cannot access it. If you change `p` to be `public`, it will work without a `toString` method. Thank you, just removing ``private `` and it worked!
writeln the struct from the alis this Example from the home page
Hello, if you take the example from the home page, with the additional last line: ```d struct Point { private double[2] p; // Forward all undefined symbols to p alias p this; double dot(Point rhs) { return p[0] * rhs.p[0] + p[1] * rhs.p[1]; } } void main() { import std.stdio : writeln; // Point behaves like a `double[2]` ... Point p1, p2; p1 = [2, 1], p2 = [1, 1]; assert(p1[$ - 1] == 1); // ... but with extended functionality writeln("p1 dot p2 = ", p1.dot(p2)); // additional line: writeln(p1); // is not possible ! } ``` /usr/include/dmd/phobos/std/format.d(3193): Error: no [] operator overload for type Point .. ... How to define, that for Point the same formatting should be used as for double[2] ?
Release 2.098.0
Glad to announce D 2.098.0, ♥ to the 62 contributors. This release comes with template alias assignments, ImportC, a forking parallel GC for POSIX systems, and many more changes. http://dlang.org/download.html http://dlang.org/changelog/2.098.0.html -Martin
Release Candidate [was: Re: Beta 2.098.0]
On Wednesday, 29 September 2021 at 20:53:53 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.098.0 release, ♥ to the 62 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.098.0.html Release candidate is live now ([pending dlang.org PR](https://github.com/dlang/dlang.org/pull/3108)) This release is quite a bit delayed due to [OSX build woes](https://github.com/dlang/installer/pull/487) and some personal lack of time. As usual please report any bugs at https://issues.dlang.org -Martin
Beta 2.098.0
Glad to announce the first beta for the 2.098.0 release, ♥ to the 62 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.098.0.html This release is quite a bit delayed due to [OSX build woes](https://github.com/dlang/installer/pull/487) and some personal lack of time. As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.097.2
Glad to announce D 2.097.2, ♥ to the 7 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.097.2, see the changelog for more details. http://dlang.org/changelog/2.097.2.html -Martin
Beta 2.097.2
Glad to announce the first beta for the 2.097.2 point release, ♥ to the 4 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.097.2.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.097.1
Glad to announce D 2.097.1, ♥ to the 9 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.097.0, see the changelog for more details. http://dlang.org/changelog/2.097.1.html -Martin
Beta 2.097.1
Glad to announce the first beta for the 2.097.1 point release, ♥ to the 7 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.097.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: D Language Foundation Monthly Meeting -- June 2021
On Saturday, 26 June 2021 at 10:15:41 UTC, Mike Parker wrote: The monthly DLF meeting this month took place on June 25. [...] Thank you for the update! Please consider to talk at one of the next meetings about a special but regular sponsoring membership for DLF. Goal: To get a strong and stable base of funding. (Many small but official supporters versus one big player)
Re: Release D 2.097.0
On Monday, 7 June 2021 at 08:51:52 UTC, Bastiaan Veelo wrote: I am having issues as well, but I don't think the installer is at fault: I see the `C:\D\dmd2` directory get filled as the installer progresses, then files just disappear. It doesn't seem to be consistent though. After failure I tried with `dmd-2.096.1.exe` and the same thing happened, whereas it had installed fine before. I tried `dmd-2.097.0.exe` and this time the whole directory got wiped. I tried again and it installed fine. Windows 10 Pro N version 20H2 build 19042.985. I suspect MS cloud security scan. -- Bastiaan. Maybe we could recruit someone to replace the dated NSIS installer with a native msi installer. https://issues.dlang.org/show_bug.cgi?id=15375 https://en.wikipedia.org/wiki/List_of_installation_software#Windows Don't have much of a clue about Windows nowadays, maybe there are more suitable alternatives.
Release D 2.097.0
Glad to announce D 2.097.0, ♥ to the 54 contributors. This release comes with a new `std.sumtype` packcage, support for `while (auto n = expression)`, an overhauled formatting package, and many more changes. http://dlang.org/download.html http://dlang.org/changelog/2.097.0.html -Martin
Release Candidate 2.097.0 [was: Re: Beta 2.097.0]
On Thursday, 13 May 2021 at 13:29:55 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.097.0 release, ♥ to the 54 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.097.0.html Release Candidate is live now. As usual please report any bugs at https://issues.dlang.org -Martin
Welcome to DUB, the D package registry. Total 2000 packages found.
Nice milestone! Question: It seams that there is no html link from DUB page(*) to dlang.org homepage? * https://code.dlang.org/
Is unix time function in wrong module?
Hi, shouldn't the unix time functions be in std.datetime.Date and std.datetime.DateTime instead of std.datetime.SysTime? The documentation states: - "std.datetime.systime for a point in time with a timezone." - "std.datetime.date for points in time without timezones." Unix epoch is 00:00:00 UTC on 1 January 1970 - and UTC is a standard, not a timezone. if i am not mistaken timezones getting applied on UTC - so i do not understand why the unix time functions are in the modules which are "timezone aware" and not in the modules without a timezone awareness.
Beta 2.097.0
Glad to announce the first beta for the 2.097.0 release, ♥ to the 54 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.097.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.096.1
Glad to announce D 2.096.1, ♥ to the 18 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.096.1, see the changelog for more details. http://dlang.org/changelog/2.096.1.html -Martin
Re: How do I create classes dynamically?
On Wednesday, 14 April 2021 at 20:38:16 UTC, Mario wrote: I wanted to find out if it is possible to create classes dynamically. out of curiosity: Why you would like to do this? I cannot think of a use case for this - this is why i ask.
Beta 2.096.1
Glad to announce the first beta for the 2.096.1 point release, ♥ to the 15 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.096.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: News Roundup on the D Blog
On Wednesday, 24 March 2021 at 12:24:19 UTC, Mike Parker wrote: This news round-up serves as the "public-facing" announcement [...] The blog: https://dlang.org/blog/2021/03/24/d-2-096-0-released-and-other-news/ [...] It was partially translated to German: https://www.heise.de/news/Programmiersprache-D-Compiler-DMD-unterstuetzt-das-Debugging-Datenformat-DWARF-5997876.html Heise is the biggest publisher of IT magazines (c't, ix) The view reader comments are all negative about D. Maybe this can be changed...
Release D 2.096.0
Glad to announce D 2.096.0, ♥ to the 54 contributors. This release comes with improved ABI compatibility for complex types, clarified copy constructor and postblit interaction, optional libunwind based backtraces, runtime-allocated global synchronized mutexes, and a preview for shortened lambda-style function definitions. http://dlang.org/download.html http://dlang.org/changelog/2.096.0.html -Martin
Release Candidate [was: Re: Beta 2.096.0]
On Sunday, 28 February 2021 at 11:56:28 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.096.0 release, ♥ to the 53 contributors. Release candidate is live. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.096.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Beta 2.096.0
Glad to announce the first beta for the 2.096.0 release, ♥ to the 53 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.096.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.095.1
Glad to announce D 2.095.1, ♥ to the 12 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.095.1, see the changelog for more details. http://dlang.org/changelog/2.095.1.html -Martin
null and initialized string comparisons
Hi, is this how it supposed to be? (https://run.dlang.io/is/7B4irm) --- string a = null; string t = ""; assert( ! a ); assert( t ); assert( t == a ); --- I have not expected assert(t == a) to be true - i would like to know the argument for why this is correct when at the same time assert(!a) and assert(t) is true.. feels a litle bit js-ish to me
Beta 2.095.1
Glad to announce the first beta for the 2.095.1 point release, ♥ to the 11 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.095.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Tuple or struct as return type?
Hi, lets say i want to create a function that returns multiple values - e.g. Tuple!(string,string). Why/when i should prefer Tuple as a return type over returning a struct (or even string[2] in this case)? Thank you
Release D 2.095.0
Glad to announce D 2.095.0, ♥ to the 61 contributors. This release comes with a much improved C++ header generation, template instantiation traces for deprecations, module-level function conflict detection, and better compiler flag support in dub. http://dlang.org/download.html http://dlang.org/changelog/2.095.0.html -Martin
Release Candidate [was: Re: Beta 2.095.0]
On Sunday, 20 December 2020 at 13:21:46 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.095.0 release, ♥ to the 61 contributors. The release candidate for 2.095.0 is live now. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.095.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Beta 2.095.0
Glad to announce the first beta for the 2.095.0 release, ♥ to the 61 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.095.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.094.2
Glad to announce D 2.094.2, ♥ to the 10 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.094.2, see the changelog for more details. http://dlang.org/changelog/2.094.2.html -Martin
Re: why is "hello".writeln considered bad?
On Friday, 20 November 2020 at 10:03:18 UTC, Daniel Kozak wrote: I remember days when I liked UFCS too . Unfortunately it is not so awesome when you use it with IDE. And I would like to add: if you use in a bigger team. It's annoying when every dev have a own taste.. And together with optional () it's hell - no joke. The need to think about codeatyle definitions in such detail is a nogo for big projects.
Re: magically a static member on init?
On Sunday, 15 November 2020 at 00:29:41 UTC, H. S. Teoh wrote: if you don't like the semantics, don't use it; always allocate the field in the class ctor instead. Hi, i neither like it nor dislike it - it just caught me by surprise because i was under the impression that if i create a new instance then all members get initialized according to the declared optional default value. I can see how this is a feature - but it is also of kind "expert knowledge" and i would argue that "expert knowladge" is a designs arch enemy.
Re: magically a static member on init?
On Saturday, 14 November 2020 at 23:30:58 UTC, Adam D. Ruppe wrote: On Saturday, 14 November 2020 at 23:20:55 UTC, Martin wrote: Is this intentional? [...] alright, thank you! :)
magically a static member on init?
Hi, i do no know if this is intended - but imo this is weird: https://run.dlang.io/is/eBje3A I expected that `c.a.str == ""` (just like `c.str` is). But instead `c.a.str` keeps the value of `b.a.str`. Is this intentional? IMO this feels not consistent and its weird when a reference leaks into another instance without having declared it static member. Greetigs
Beta 2.094.2
Glad to announce the first beta for the 2.094.2 point release, ♥ to the 7 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.094.2.html As usual please report any bugs at https://issues.dlang.org -Martin
Release D 2.094.1
Glad to announce D 2.094.1, ♥ to the 11 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.094.1, see the changelog for more details. http://dlang.org/changelog/2.094.1.html -Martin
Beta 2.094.1
Glad to announce the first beta for the 2.094.1 point release, ♥ to the 8 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.094.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: vibe.d / experience / feedback
On Friday, 2 October 2020 at 09:46:09 UTC, Denis Feklushkin wrote: Because standard implementation worse? What do you mean with "worse"? In my experience std.json is a very thin implementation of the JSON spec - without/very low "magic". IMO this is what one wants in a std lib. Its a good starting point for further simplfication wrappers or framework specific magic (what vibe actually do, if i am not mistaken
Re: Release D 2.094.0
On Saturday, 26 September 2020 at 21:45:09 UTC, Martin Nowak wrote: Glad to announce D 2.094.0, ♥ to the 49 contributors. I'd use the delay as an opportunity to shift the bi-monthly releases to even months (to avoid the beta during the holiday season). https://github.com/dlang/dlang.org/pull/2860
Release D 2.094.0
Glad to announce D 2.094.0, ♥ to the 49 contributors. This release comes with faster compiler binaries (built with ldc), direct git dependencies in dub, better type checking of vectors, and improved template instantiation diagnostics. http://dlang.org/download.html http://dlang.org/changelog/2.094.0.html -Martin
Re: DIP 1030-- Named Arguments--Formal Assessment
On Thursday, 17 September 2020 at 12:59:05 UTC, Mike Parker wrote: On Thursday, 17 September 2020 at 12:58:06 UTC, Mike Parker wrote: DIP 1030, "Named Arguments", has been accepted. https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1030.md I am happy with that, too. So what is the estimated time frame for getting it in dmd?
Release Candidate 2.094.0 [was: Re: Beta 2.094.0]
On Friday, 11 September 2020 at 07:48:00 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.094.0 release, ♥ to the 49 contributors. The release candidate is live now. This is the first release to be built with LDC on all platforms, so we'd welcome some more thorough beta testing. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.094.0.html As usual please report any bugs at https://issues.dlang.org -Martin
passing a parrameter read-only ref?
Hi, i would like to create a function which takes the first parameter as a reference to a struct - but assure the calle that the reference is read-only. Can this be done? If i am not mistaken, then the "in" Parameter Storage Class is what i want(?). But the documentation states that this feature should not be used. For context: I want to write struct-methods outside the struct (like in golang).
Beta 2.094.0
Glad to announce the first beta for the 2.094.0 release, ♥ to the 49 contributors. This is the first release to be built with LDC on all platforms, so we'd welcome some more thorough beta testing. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.094.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: D mentionned in the ARTIBA webzine for an article on Silq
On Thursday, 3 September 2020 at 22:22:42 UTC, aberba wrote: Thanks guys, I appreciate the help. +1!
Re: D mentionned in the ARTIBA webzine for an article on Silq
On Thursday, 3 September 2020 at 08:40:32 UTC, aberba wrote: The slack I have no ideas how people get in. I know there's a number of members in there too. I am not very active on slack, to say it polite but I may invite you drop me a mail: firstn...@lastname.info
Release D 2.093.1
Glad to announce D 2.093.1, ♥ to the 13 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.093.1, see the changelog for more details. http://dlang.org/changelog/2.093.1.html -Martin
Re: Beta 2.093.1
On Thursday, 20 August 2020 at 03:28:38 UTC, Mathias LANG wrote: Just tried to install it on OSX: ``` ~/dlang/install.sh dmd :( Downloading and unpacking http://downloads.dlang.org/releases/2.x/2.093.1/dmd.2.093.1.osx.tar.xz ### 100.0% Invalid signature http://downloads.dlang.org/releases/2.x/2.093.1/dmd.2.093.1.osx.tar.xz.sig ``` Works for me, maybe retry the download or run `~/dlang/install.sh update` to update your keyring? gpg: assuming signed data in '/home/dawg/Downloads/dmd.2.093.1.osx.tar.xz' gpg: Signature made Sa 15 Aug 2020 12:54:46 CEST gpg:using RSA key 3AAF1A18E61F6FAA3B7193E4DB8C5218B9329CF8 gpg: Good signature from "Martin Nowak " [full] gpg: aka "Martin Nowak " [full] gpg: aka "Martin Nowak " [full]
Re: Reading IDX Files in D, an introduction to compile time programming
On Friday, 21 August 2020 at 15:04:30 UTC, data pulverizer wrote: I have written an article targeted at people new to D on compile-time programming: https://www.active-analytics.com/blog/reading-idx-files-in-d/ and tweeted it here: https://twitter.com/chibisi/status/1296824381088440320?s=20 Comments welcome. . Thanks in advance. Very interesting. +1 ! "we extract that an use it to" big error! D is missing :-)
Re: Article: The surprising thing you can do in the D programming language
On Thursday, 20 August 2020 at 10:12:22 UTC, aberba wrote: Wrote something on OpenSource.com https://opensource.com/article/20/8/nesting-d Nice article! +1 up-vote!
Re: How to compile Windows exe files from this source
On Sunday, 9 August 2020 at 19:04:07 UTC, Marc wrote: I don't know much more about D than creating a 'hello world' exe file with the DMD Compiler but I'm interested in using the eBay/tsv-utils binaries. Unfortunately, the author didn't create any MS Windows binaries: https://github.com/eBay/tsv-utils/releases Does anyone know how to compile this code into MS Windows binaries? It is a bit off-topic but I strongly suggest that you take a look at the windows subsystem for Linux, that is a on-board feature in Windows 10 (https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab) It makes working with tools like tsvutils much more effective.
Beta 2.093.1
Glad to announce the first beta for the 2.093.1 point release, ♥ to the 11 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.093.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: Factory pattern for classes
On Sunday, 9 August 2020 at 15:56:31 UTC, Ali Çehreli wrote: module deneme; import std.stdio; interface I { void methodName(); } ... I getClassById(uint id) { if (id == 0) { return cast(A)Object.factory("deneme.A"); } else if(id == 1) { return cast(B)Object.factory("deneme.B"); } else { return cast(C)Object.factory("deneme.C"); } } void main() { auto o = getClassById(1); o.methodName(); } Why not simply do? I getClassById(uint id) { if (id == 0) { return new A(); } else if(id == 1) { return new B(); } else { return new C(); } } Then you can also pass parameters to the constructors or call further factories to create them, as long as they return a `I`-compatible type.
Re: Idiomatic D code to avoid or detect devision by zero
On Monday, 3 August 2020 at 15:33:54 UTC, Dominikus Dittes Scherkl wrote: [...] For really long expressions you could also split it on multiple lines: c = (b_expression == 0) ? (d_longer_expression) : (a_expression/b_expression); +1 looks clean!
Re: The ABC's of Templates in D
On Friday, 31 July 2020 at 17:57:58 UTC, H. S. Teoh wrote: I choosed the following way regarding: 2) The regex is not initialized by ctRegex in order to avoid the compile-time overhead; instead, it's initialized at program startup time. version(DigitalMars){ auto reg(alias var)(){ return(regex(var)); pragma(msg,"regex used"); } } version(LDC){ // reg!() is an alias method, which can check which kind of parameter it got auto reg(alias var)(){ static if (__traits(compiles, {enum ctfeFmt = var;}) ){ // "Promotion" to compile time value enum ctfeReg = var ; pragma(msg, "ctRegex used"); return(ctRegex!ctfeReg); }else{ return(regex(var)); pragma(msg,"regex used"); } } } So when compiling with DMD my reg!("") expression is using the runtime version. When compiling with LDC (for release) I use the ctRegex version, if possible. The (alias var) combined with the check if the var is known at compile time: __traits(compiles, {enum ctfeFmt = var;} I have to admit that the idea was mine, but the crafting only with the help of forum members! // Function to mark all ocurences of the word offshore within html bold. string markoffshore(string to_mark){ return to_mark.replaceAll(reg!(r"([oO]ffshore)"),"$1"); }
Re: Idiomatic D code to avoid or detect devision by zero
On Friday, 31 July 2020 at 14:18:15 UTC, Steven Schveighoffer wrote: On 7/31/20 9:55 AM, Martin Tschierschke wrote: What would be the idiomatic way to write a floating point division occuring inside a loop and handle the case of division by zero. c = a/b; // b might be zero sometimes, than set c to an other value (d). (In the moment I check the divisor being zero or not, with an if-than-else structure, but I find it ugly and so I ask here.) c = b == 0 ? d : a/b; I don't think a function would be shorter or clearer... c = div(a, b, d); Alternatively, you could use a type to effect the behavior you want. -Steve Thanks, for the hints. I find the ? : - expressions sometimes hard to reed, especially when a and b are not so simple expressions. I prefer putting additional bracket around: c = (b_expression == 0) ? (d_longer_expression) : (a_expression/b_expression); ???
Re: Idiomatic D code to avoid or detect devision by zero
On Friday, 31 July 2020 at 15:19:25 UTC, Andrea Fontana wrote: On Friday, 31 July 2020 at 13:55:18 UTC, Martin Tschierschke wrote: What would be the idiomatic way to write a floating point division occuring inside a loop and handle the case of division by zero. c = a/b; // b might be zero sometimes, than set c to an other value (d). (In the moment I check the divisor being zero or not, with an if-than-else structure, but I find it ugly and so I ask here.) You should give a look at: https://dlang.org/phobos/std_experimental_checkedint.html You can try with checked!Throw and catch exceptions, for example. Andrea Thanks, I will look at it.
Idiomatic D code to avoid or detect devision by zero
What would be the idiomatic way to write a floating point division occuring inside a loop and handle the case of division by zero. c = a/b; // b might be zero sometimes, than set c to an other value (d). (In the moment I check the divisor being zero or not, with an if-than-else structure, but I find it ugly and so I ask here.)
Re: Mocking framework mockeD
On Wednesday, 29 July 2020 at 08:25:34 UTC, Eugene Wissner wrote: I'm happy to announce a new mocking library developed at Funkwerk. [...] https://github.com/funkwerk/mocked By searching for the exact definition of Mocking Framework I found the Wikipedia Page for it, so you might want to add your framework there, too: https://de.wikipedia.org/wiki/Mocking_Framework Beside the frameworks for the other languages. Actually I am searching for the best way to make unit tests for a small program, reading values from a pdf converted to txt and than writing them into mysql. So I might just use your work. Thank you. Best regards mt.
Release D 2.093.0
Glad to announce D 2.093.0, ♥ to the 54 contributors. This release comes with a preview for shared variable initialization, template instantiation statistics, better Windows support of the install.sh script, and higher accuracy GC memory options. http://dlang.org/download.html http://dlang.org/changelog/2.093.0.html -Martin
Release Candidate [was: Re: Beta 2.093.0]
On Wednesday, 24 June 2020 at 21:01:05 UTC, Martin Nowak wrote: Glad to announce the first beta for the 2.093.0 release, ♥ to the 53 contributors. Release Candidate is live now.
Re: News on the D Blog: SAOC 2020 and More
On Tuesday, 23 June 2020 at 14:13:44 UTC, Adam D. Ruppe wrote: On Tuesday, 23 June 2020 at 12:00:06 UTC, Mike Parker wrote: D Language Foundation finance updates [...] Really, the best thing to do is probably offering the documents directly on the official website. Then if someone does formally request it you can just point back to dlang.org/foundation or whatever. Yes please, more transparency => more donations!
Beta 2.093.0
Glad to announce the first beta for the 2.093.0 release, ♥ to the 53 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.093.0.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: Origins of the D Programming Language now published by ACM!
On Saturday, 13 June 2020 at 03:16:05 UTC, Walter Bright wrote: https://dl.acm.org/doi/abs/10.1145/3386323 Many, many thanks to Mike Parker and Andrei Alexandrescu for their endless hours spent fixing the mess I originally wrote. Many, thanks to you, too! Just found the time to read it (again). What I think is worth mentioning as additional milestones, is the setup of code.dlang.org (DUB >1800 packages now) and the online tutorial - Dlang Tour: tour.dlang.org with the embedded D compiler.
Release D 2.092.1
Glad to announce D 2.092.1, ♥ to the 9 contributors. http://dlang.org/download.html This point release fixes a few issues over 2.092.1, see the changelog for more details. http://dlang.org/changelog/2.092.1.html -Martin
Beta 2.092.1
Glad to announce the first beta for the 2.092.1 point release, ♥ to the 8 contributors. http://dlang.org/download.html#dmd_beta http://dlang.org/changelog/2.092.1.html As usual please report any bugs at https://issues.dlang.org -Martin
Re: Compare string with German umlauts
On Monday, 18 May 2020 at 14:28:33 UTC, Steven Schveighoffer wrote: What you need is to normalize the data for comparison: https://dlang.org/phobos/std_uni.html#normalize For more reference: https://en.wikipedia.org/wiki/Combining_character -Steve I checked it again but could not reproduce the original error, it somehow seems that my compare string contained another error. But nevertheless good to know how to deal with encoding errors!