Re: Release D 2.108.0
I would like to sincerely thank everyone who contributed. ❤️❤️❤️ On Wednesday, 3 April 2024 at 11:28:57 UTC, Ferhat Kurtulmuş wrote: Dear Nick, this is out of the topic, but I noticed that you are a Geany contributor. I have a long waiting PR here https://github.com/geany/geany-plugins/pull/789. I added the "open with x" feature. I am not a regular Geany user anymore, though. I remember I needed that feature a lot when using Geany. +1 Also, is it possible to change the color schemes according to the specifications written here? https://dlang.org/spec/istring.html In other words, writing in bold letters etc. to draw attention to the variable. PS. I use Kugel Scheme Thanks... SDB@79
Re: Beta 2.108.0
On Thursday, 21 March 2024 at 09:16:07 UTC, Andrea Fontana wrote: This? ```d auto toHex(N)(N number) if (isIntegral!N) { return "%X".format(number); } ``` No, you respect your efforts. Simple solutions without memory allocation are needed. Moreover, there are already very good algorithms in the runtime: https://github.com/dlang/dmd/blob/master/druntime/src/core/internal/string.d#L34 SDB@79
Re: Beta 2.108.0
On Thursday, 21 March 2024 at 02:14:36 UTC, WebFreak001 wrote: On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote: .. since they drastically make things easier (hexstrings) or even possible in the first place (magic initializer thingies) for library code and generated code. I cannot say the same thing. It is thought-provoking that even the toHex() function, which should be in std.conv, was not included and we had to write it ourselves. SDB@79
Re: Release D 2.107.1
On Saturday, 2 March 2024 at 00:03:43 UTC, Iain Buclaw wrote: Glad to announce D 2.107.1, ♥ to the 6 contributors. Thanks to the team for continuing to bring us an awesome D compiler! SDB@79
Re: From the D Blog: Crafting Self-Evident Code in D
On Saturday, 7 October 2023 at 12:37:37 UTC, sighoya wrote: I disagree however in all binary types should be just boolean. I prefer machineState=State.On or State.Off than isMachineOn=true or false. This was finished possible: ```d import std; enum State : bool { Off, On } void main() { State machineState; "The machine ".write; if(machineState == State.On) { "may be ".write; } machineState = State.On; if(machineState == State.On) { "definitely ".write; } "runnning!".writeln; // BONUS: TriState int engineHP = -500; "The engine ".write; final switch(engineHP.sgn) { case TriState.Off: "was off!".writeln; break; case TriState.Start: "was start!".writeln; break; case TriState.On: "running!".writeln; break; } } enum TriState { Off = -1, Start, On } ``` SDB79
Re: DCV is @nogc nothrow now.
On Friday, 28 April 2023 at 13:50:35 UTC, Ferhat Kurtulmuş wrote: Please give it a try and destroy me :) I've been pushing myself to try DCV for about a week now. But the libraries it depends on scare me. I would love to apply artificial intelligence in a video using only D. I guess that's not possible for now? I would like to thank dear Ferhat for his hard work and dedication... SDB@79
Re: How to set up D and SFML project on MacOS, Linux and Windows | [video]
On Monday, 17 April 2023 at 10:56:13 UTC, Ki Rill wrote: A new how-to video is out! Here is the [link](https://www.youtube.com/watch?v=17SvM5NFejM). Thank warmly... SDB@79
Re: How to set up D and SFML project on MacOS, Linux and Windows | [video]
On Monday, 17 April 2023 at 10:56:13 UTC, Ki Rill wrote: A new how-to video is out! Here is the [link](https://www.youtube.com/watch?v=17SvM5NFejM). Thank warmly... SDB@79
Re: Release D 2.103.0
On Monday, 3 April 2023 at 16:41:25 UTC, Iain Buclaw wrote: Glad to announce D 2.103.0, ♥ to the 43 contributors. I think the most radical change is DIP25 being the default. Thanks to everyone involved. SDB@79
Re: Release D 2.102.0
On Thursday, 2 February 2023 at 17:22:46 UTC, Ali Çehreli wrote: On 2/2/23 04:30, Iain Buclaw wrote: > Glad to announce D 2.102.0, ♥ to the 40 contributors. ... Two issues that I had some interest in are fixed. Yay! Ali rabboni, I think the other issue(#17226) is more important, very much! "Ali hocam, bence diğer konu daha önemli, hem de çok!" Because it can wait in line for the mighty David, who has more pressing issues. "Çünkü daha acil sorunları olan çok güçlü D için sırada bekleyebilir." Moreover, other programming languages have the same problem and non-native speakers come up with their own solutions. "Üstelik diğer programlama dillerinde de aynı sorun var ve ana dili İngilizce olmayanlar kendi çözümlerini buluyor." In summary this is not D's primary problem. "Özetle bu D'nin öncelikli sorun değildir." By the way, thank you very much for the update. This was the first update I followed from start to finish. "Bu arada, güncelleme için çok teşekkür ederim. Bu, başından sonuna kadar takip ettiğim ilk güncellemeydi." SDB@79
Re: D Contributor Tutorials Part 1 - Building the Compiler From Source
On Sunday, 8 January 2023 at 11:27:14 UTC, Mike Parker wrote: The next video will use this setup to start making changes to dmd. https://youtu.be/iLN4rQkk4Fs Thank you to everyone who contributed to presenting this series to us, especially to Dennis! Hope to see more videos like this... SDB@79
Re: Introducing alid
On Thursday, 15 September 2022 at 02:30:43 UTC, Ali Çehreli wrote: On 9/14/22 12:08, Ali Çehreli wrote: import alid; // WRONG - Could not make it work import alid.alid; // Worked with package.d file What's objection with combining all the code in the package into one module? SDB@79
Re: Introducing alid
On Wednesday, 14 September 2022 at 02:58:07 UTC, rikki cattermole wrote: Of course you are free to lie and say its mutable, but you can't lie to the cpu. It'll error if you try to write to it, resulting in the end of a process. I agree with what you said. Moreover, I sign it as an electronics engineer. However, we have to perform write protection with our own types. Anyway, I don't want to get into the discussions that are full of pages. SDB@79
Re: Introducing alid
On Tuesday, 13 September 2022 at 15:24:20 UTC, Ali Çehreli wrote: On 9/12/22 22:24, Salih Dincer wrote: 2) This point is about a topic that I brought up recently: Types gain a 'const' eagerly (and they have to, understandably). For example, in your example you are caching an 'int', but my code sees const(int) just because std.range.Cycle.front chose to put a 'const' on itself. (With all good intentions: Cycle.front really does not mutate a Cycle object.) However, as my range picks the element type with ElementType!T, I see const(int) as well. Again, all good so far... And here is my opApply funtion: ```d int opApply(int delegate(ref EC.ET) func) scope { while(!empty) { auto f = front; int result = func(f);// ERROR if (result) { return result; } popFront(); } return 0; } ``` ERROR: delegate `func(ref int)` is not callable using argument types `(const(int))` I'm far from making a solid recommendation. Immutable with const still doesn't make sense to me. I claim we can live without them. Immutable confuses me a lot. I think we should take control by creating our own types. D Language should be unornamented. SDB@79
Re: Introducing alid
On Tuesday, 13 September 2022 at 07:25:18 UTC, SDB@79 wrote: Is it the same with the new D versions? Now I replaced the cycle() to the leftward and tried it with the current version. It works great! ```d 0.iota!double(1,.1).cycle.cached.take(30).writeln; // [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] ``` Surely it's a useless implementation for cycle() I guess? SDB@79
Re: Introducing alid
On Monday, 12 September 2022 at 09:15:34 UTC, Ali Çehreli wrote: I am happy to publish on code.dlang.org for the first time: https://code.dlang.org/packages/alid Thanks to everyone who made registering a dub package so easy! :) Hoş geldin AliD :) Thank you very much for bringing these codes over a thousand lines to the D World. I was looking forward to trying it right away, and when I tried it with the classic iota() and its sister inclusiveRange(), I found that it didn't get along well with cycle(). For example: ```d immutable size_t pageSize = 4096; void main() { "D Compiler v".writeln(__VERSION__*.001); // D Compiler v2.087 { auto r = iota(3).cached(0);/* auto r = iota(3);//*/ r.cycle.take(30).writeln; } { auto r = inclusiveRange(3).cached(0);/* auto r = inclusiveRange(3);//*/ r.cycle.take(30).writeln; } }/* Prints: /usr/src/dmd/linux/bin64/../../src/phobos/std/range/package.d(3928): Error: mutable method `source.CachedRange!(ElementCache!(Result)).CachedRange.front` is not callable using a `const` object /usr/src/dmd/linux/bin64/../../src/phobos/std/range/package.d(3928): Consider adding `const` or `inout` to source.CachedRange!(ElementCache!(Result)).CachedRange.front /usr/src/dmd/linux/bin64/../../src/phobos/std/range/package.d(4060): Error: template instance `std.range.Cycle!(RefCounted!(CachedRange!(ElementCache!(Result)), cast(RefCountedAutoInitialize)0))` error instantiating instantiated from here: `cycle!(RefCounted!(CachedRange!(ElementCache!(Result)), cast(RefCountedAutoInitialize)0))` */ ``` Is it the same with the new D versions? SDB@79
Re: GCC 12.2 Released (D v2.100.1)
On Friday, 19 August 2022 at 11:36:09 UTC, Iain Buclaw wrote: Hi, GCC version 12.2 has been released. GCC 12.2 is the first bug-fix release from the GCC 12 branch containing important fixes for regressions and serious bugs in GCC 12.1 with 11 bugs fixed in GDC since the previous release. Thank you... There's a little thing I'm wondering about. As I'm an apprentice yet, I wasn't sure: are GCC and GDC the same thing? When I type GCC --version on my system, I get this result: gcc (Debian 8.3.0-6) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I guess that means I'm a dinosaur. I need to update as soon as possible :) SDB@79
Re: DConf '22 Livestream Links
On Monday, 25 July 2022 at 13:52:51 UTC, Mike Parker wrote: For those of you who can't join us in person at DConf '22 in London next week, you can join us instead via each day's livestream link: * Day 1: https://youtu.be/V6KFtzF2Hx8 Well, you are in the right place, so let's get started...:)
Re: D Community Conversations: Walter Bright on the Origins of D Part 1
On Sunday, 10 July 2022 at 18:26:13 UTC, bachmeier wrote: On Sunday, 10 July 2022 at 16:17:11 UTC, Mike Parker wrote: [...] This is really good. Have you considered uploading the audio to Spotify or somewhere as a podcast? No idea what that would involve, but for a lot of us there are more opportunities to listen to a podcast rather than watch a YT video. I mostly use this site: https://mp3y.download/en The intro music and the beginning of the video were great. SDB@79
Re: D News April-May - DConf '22 BeerConf Has a Sponsor!
On Sunday, 29 May 2022 at 12:41:18 UTC, Mike Parker wrote: [...] One bit of news I hadn't announced anywhere before this video: we have a sponsor for the DConf '22 BeerConf! A big thanks to Funkwerk for supporting us. Thanks to them, we'll be able to hire out space for BeerConf every evening August 1-4. And each night, everything you order (drinks and food) will be covered until we reach the minimum spending amount. [...] A big thank you to Funkwerk. Although it is a big dream, I wish it to be realized one day with Turkey hosting. It is admirable to do such things in a time of increasing inflation rates today. SDB@79
Re: Release D 2.100.0
On Sunday, 15 May 2022 at 11:05:38 UTC, Martin Nowak wrote: Glad to announce D 2.100.0, ♥ to the 41 contributors. [...] http://dlang.org/changelog/2.100.0.html -Martin I'm still trying new features. I loved it, thank you to everyone who contributed... SDB@79
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 As usual please report any bugs at https://issues.dlang.org -Martin I have been so looking forward to this moment! I'm looking forward to the release of the version... Thanks to everyone who contributed. SDB@1979
Re: Our New Pull-Request and Issue Manager
On Thursday, 24 February 2022 at 23:25:35 UTC, Dennis wrote: On Thursday, 24 February 2022 at 20:32:25 UTC, Arjan wrote: Goed bezig! Veel plezier en succes Dennis. Dennis, tebrik ederiz istanbul'dan! Dennis, we congratulate you from istanbul!
Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth
On Thursday, 24 February 2022 at 13:15:50 UTC, Salih Dincer wrote: Is there anything I can do for this problem? I solved it using the following commands having two parts: * sudo apt-get -y install libasound2-dev * dub build :windowmakerforconcrete --compiler=ldc2 --force
Re: PixelPerfectEngine v0.10.0-beta.5 : Now with a synth
On Wednesday, 23 February 2022 at 21:20:53 UTC, WebFreak001 wrote: On Wednesday, 23 February 2022 at 21:07:25 UTC, solidstate1991 wrote: https://github.com/ZILtoid1991/pixelperfectengine/releases/tag/v0.10.0-beta.5 After I created my own IO library that has audio features that are easier to interoperate with D code (iota), I decided to finish up my phase modulation (often sold as either frequency modulation or phase distortion too by some brands, with minor tweaks to the underlying math to avoid patent infringement) synthesizer for my game engine. This one uses a simplified math with fixed-length wavetables (can be user supplied too), highly configurable envelops, and has up to 16 voice polyphony if 2 operator mode is used for all channels (8 if channels are combined). It can even do resonant waveforms with some tricks (modulating a sine wave with a triangle wave). [...] nice! Any example to play around with? There are some errors during linking (I think sound related): My computer configurations: * Debian GNU 11 * Linux Kernel 5.10.0-11-amd64 * dub-1.22.0 * LLVM D compiler (1.24.0) based on DMD v2.094.1 * gcc (Debian 10.2.1-6) 10.2.1 20210110 pixelperfectengine:windowmakerforconcrete ~master: building configuration "application"... Linking... /usr/bin/ld.gold: error: cannot find -lasound device.d:97: error: undefined reference to 'snd_card_next' [...] alsa.d:220: error: undefined reference to 'snd_pcm_drain' linux.d:227: error: undefined reference to 'snd_lib_error_set_handler' collect2: error: ld returned 1 exit status Error: /usr/bin/cc failed with status: 1 ldc2 failed with exit code 1. Is there anything I can do for this problem? SDB@79
Re: fixedstring: a @safe, @nogc string type
On Monday, 10 January 2022 at 12:55:28 UTC, Moth wrote: have fun =] https://github.com/Moth-Tolias/fixedstring I try Fixedstring and, to my great relief I got the results I expected. Thank you, good luck with your work. So how to fix this double character issue: ```d FixedString!6 sugar = "şeker"; // in Turkish assert(sugar[0..3] == "şe"); FixedString!5 şeker = "sugar"; // in English assert(şeker[0..2] == "su"); assert(sugar.length > şeker.length); ``` How about adding that member among FixedString? ```d public size_t usefulCapacity()const pure @nogc @safe { return size - _length; } ```
Re: Gordon programming language
On Sunday, 24 October 2021 at 10:13:14 UTC, Tero Hänninen wrote: Hello, decided I'd post about my primarily D-influenced programming language here. ... Website: https://tjhann.github.io/gordon-web/ ```d 1 // The default enum base type is ubyte to not bloat structs (better for cache use). 2 enum MODE : int { 3 FAST, 4 DEEP, 5 ADAPTIVE, 6 } 7 8 int main() 9 { 10 auto m = MODE.DEEP; 11 12 // A switch on enum must be exhaustive of course. 13 switch (m) { 14 case MODE.FAST: 15 break; // empty case falls through by default – use break to avoid 16 case MODE.DEEP: 17 int a = 1234; 18 goto; // fall through 19 case MODE.ADAPTIVE: 20 // do something 21 } 22 23 return 0; 24 } ``` Where does "goto ..." branch to in [example code](https://tjhann.github.io/gordon-web/ex2.html) above, line 18? In D, it can be an external identifier: ```22 EXTERNAL:``` // from switch... Does Gordon have it? Also isn't there a scope hierarchy, line 17? Because a defined inside scope cannot be accessed from outside scope. Finally, we use ```final switch``` in D, if there is no ```default```. I wish you accomplish everything...
Re: autoptr (ref counted pointers)
On Friday, 12 November 2021 at 14:32:42 UTC, vit wrote: Hello, I implemented reference counted pointers supporting: - weak pointers (optional). - aliasing. - atomic/non-atomic counters. - multithread ref counted pointers . - arrays. - destructors with attributes - pure, const, immutable and shared support. - limited dip1000 and @safe support. - intrusive pointers - unique pointers Api is inspired with std::shared_ptr Implementation is inspired by clang std::shared_ptr. git: https://github.com/submada/autoptr doc: https://submada.github.io/autoptr/ dub: https://code.dlang.org/packages/autoptr Nicely done! There are over 1000 lines of test code, line 2590 starts unittests. Thank you...