Re: photon v0.7.0 with Windows support(!)

2024-04-24 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce



On 25/04/2024 5:41 AM, Dmitry Olshansky wrote:

On Wednesday, 24 April 2024 at 14:40:40 UTC, Steven Schveighoffer wrote:

On Tuesday, 23 April 2024 at 19:05:48 UTC, Dmitry Olshansky wrote:

On Tuesday, 23 April 2024 at 17:15:13 UTC, Sönke Ludwig wrote:
I guess that the Darwin support will be restricted to freely 
distributed macOS applications, as calling `__syscall` surely is a 
private API that cannot be used in any AppStore application, right?


You tell me;)
API looks just like any other libc function.


I can tell you right off that this will not be allowed in approved 
apps. Not just for the `__syscall`, but for overriding the normal 
system calls of all libraries. I can't imagine Apple will be OK with 
that.


How would they know? The whole thing happens at the link time.

—
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me


Two ways:

Look at externs for your binaries, if any symbol is black listed, it 
won't be allowed (such as ``__syscall``).


Decompile, if you see certain instructions, don't allow it.

I can't find it, but we did have something in druntime that was failing 
due to private API usage in the past (and hence couldn't publish D 
applications).


Re: photon v0.7.0 with Windows support(!)

2024-04-24 Thread Dmitry Olshansky via Digitalmars-d-announce
On Wednesday, 24 April 2024 at 14:40:40 UTC, Steven Schveighoffer 
wrote:
On Tuesday, 23 April 2024 at 19:05:48 UTC, Dmitry Olshansky 
wrote:

On Tuesday, 23 April 2024 at 17:15:13 UTC, Sönke Ludwig wrote:
I guess that the Darwin support will be restricted to freely 
distributed macOS applications, as calling `__syscall` surely 
is a private API that cannot be used in any AppStore 
application, right?


You tell me;)
API looks just like any other libc function.


I can tell you right off that this will not be allowed in 
approved apps. Not just for the `__syscall`, but for overriding 
the normal system calls of all libraries. I can't imagine Apple 
will be OK with that.


How would they know? The whole thing happens at the link time.

—
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me


Re: photon v0.7.0 with Windows support(!)

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

On Tuesday, 23 April 2024 at 19:05:48 UTC, Dmitry Olshansky wrote:

On Tuesday, 23 April 2024 at 17:15:13 UTC, Sönke Ludwig wrote:
I guess that the Darwin support will be restricted to freely 
distributed macOS applications, as calling `__syscall` surely 
is a private API that cannot be used in any AppStore 
application, right?


You tell me;)
API looks just like any other libc function.


I can tell you right off that this will not be allowed in 
approved apps. Not just for the `__syscall`, but for overriding 
the normal system calls of all libraries. I can't imagine Apple 
will be OK with that.


-Steve


Re: D Language Foundation July 2023 Quarterly Meeting Summary

2024-04-24 Thread Lynn Davenport via Digitalmars-d-announce

On Saturday, 29 July 2023 at 14:37:32 UTC, Mike Parker wrote:
I mistakenly posted the summary in the General forum. You can 
find it here:


https://forum.dlang.org/thread/jzlympfqmwckaiuhq...@forum.dlang.org [geometry 
dash world](https://geometrydashworld.net)



Good, I'm looking forward to it. I appreciate all of your effort!



Re: photon v0.7.0 with Windows support(!)

2024-04-23 Thread Dmitry Olshansky via Digitalmars-d-announce

On Tuesday, 23 April 2024 at 17:15:13 UTC, Sönke Ludwig wrote:

Am 21.04.2024 um 21:01 schrieb Dmitry Olshansky:
Photon is a minimalistic multi-threaded fiber scheduler and 
event loop that works transparently with traditional blocking 
I/O C/C++/D/Rust libraries w/o degrading performance.


It took somewhat longer than I wanted but I'm pleased to 
announce that Photon now supports Windows. In particular basic 
socket API that is used by the likes of std.socket is 
transparently converted to overlapped I/O with I/O completion 
port event loop. The last obstacle was, of course, accept 
syscall that is only blocking on Windows. Now that 
transparently goes to a dedicated Windows's native threadpool 
so as to not block our precious fibers.


Explore some basic examples here (not all examples can be run 
on Windows): 
https://github.com/DmitryOlshansky/photon/tree/master/tests


--
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me


That's really nice! How would you judge supporting other kinds 
of handles, such as files or events, on Windows?


Going to be tricky but timers for one thing should work with the 
threadpool I got in there.


I guess that the Darwin support will be restricted to freely 
distributed macOS applications, as calling `__syscall` surely 
is a private API that cannot be used in any AppStore 
application, right?


You tell me;)
API looks just like any other libc function.

In that case it would inevitably put it in a non-consumer 
application niche, but certainly wouldn't make it any less 
interesting for more server oriented tasks.


My main angle is being able to develop servers / clients on MacOS 
deploying to other platforms such as Linux server.


—
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me



Re: photon v0.7.0 with Windows support(!)

2024-04-23 Thread Sönke Ludwig via Digitalmars-d-announce

Am 21.04.2024 um 21:01 schrieb Dmitry Olshansky:
Photon is a minimalistic multi-threaded fiber scheduler and event loop 
that works transparently with traditional blocking I/O C/C++/D/Rust 
libraries w/o degrading performance.


It took somewhat longer than I wanted but I'm pleased to announce that 
Photon now supports Windows. In particular basic socket API that is used 
by the likes of std.socket is transparently converted to overlapped I/O 
with I/O completion port event loop. The last obstacle was, of course, 
accept syscall that is only blocking on Windows. Now that transparently 
goes to a dedicated Windows's native threadpool so as to not block our 
precious fibers.


Explore some basic examples here (not all examples can be run on 
Windows): https://github.com/DmitryOlshansky/photon/tree/master/tests


--
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me


That's really nice! How would you judge supporting other kinds of 
handles, such as files or events, on Windows?


I guess that the Darwin support will be restricted to freely distributed 
macOS applications, as calling `__syscall` surely is a private API that 
cannot be used in any AppStore application, right? In that case it would 
inevitably put it in a non-consumer application niche, but certainly 
wouldn't make it any less interesting for more server oriented tasks.


Re: photon v0.7.0 with Windows support(!)

2024-04-21 Thread Dmitry Olshansky via Digitalmars-d-announce

On Sunday, 21 April 2024 at 19:32:20 UTC, Dmitry Olshansky wrote:
On Sunday, 21 April 2024 at 19:01:04 UTC, Dmitry Olshansky 
wrote:

[...]


It gets better, now with hotfixed HTTP hello world example:

https://github.com/DmitryOlshansky/photon/blob/master/bench/static_http/hello.d



Messed things up with hotfix leaving debug tracing enabled even 
in production builds, please use v0.7.2.



--
Dmitry Olshansky
CEO @ GLowlabs
https://olshansky.me




Re: photon v0.7.0 with Windows support(!)

2024-04-21 Thread Dmitry Olshansky via Digitalmars-d-announce

On Sunday, 21 April 2024 at 19:01:04 UTC, Dmitry Olshansky wrote:
Photon is a minimalistic multi-threaded fiber scheduler and 
event loop that works transparently with traditional blocking 
I/O C/C++/D/Rust libraries w/o degrading performance.


It took somewhat longer than I wanted but I'm pleased to 
announce that Photon now supports Windows. In particular basic 
socket API that is used by the likes of std.socket is 
transparently converted to overlapped I/O with I/O completion 
port event loop. The last obstacle was, of course, accept 
syscall that is only blocking on Windows. Now that 
transparently goes to a dedicated Windows's native threadpool 
so as to not block our precious fibers.


Explore some basic examples here (not all examples can be run 
on Windows): 
https://github.com/DmitryOlshansky/photon/tree/master/tests


--
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me


It gets better, now with hotfixed HTTP hello world example:

https://github.com/DmitryOlshansky/photon/blob/master/bench/static_http/hello.d

--
Dmitry Olshansky
CEO @ GLowlabs
https://olshansky.me



Re: LDC 1.38.0-beta1

2024-04-19 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce

On 20/04/2024 12:41 PM, kinke wrote:
Android: Switch to native ELF TLS, supported since API level 29 (Android 
v10), dropping our former custom TLS emulation (requiring a modified 
LLVM and a legacy ld.bfd linker). The prebuilt packages themselves 
require Android v10+ (armv7a) / v11+ (aarch64) too, and are built with 
NDK r26d. Shared druntime and Phobos libraries are now available 
(|-link-defaultlib-shared|), as on regular Linux.


I shared that on Discord.

This is something I've been looking forward to for a long time!

Thanks

Today has sure been a good day.


LDC 1.38.0-beta1

2024-04-19 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.38. Major changes:

* Based on D 2.108.0+ (yesterday's DMD stable).
* Support for LLVM 18; the prebuilt packages use v18.1.3.
* Android: Switch to native ELF TLS, supported since API level 29 
(Android v10), dropping our former custom TLS emulation 
(requiring a modified LLVM and a legacy ld.bfd linker). The 
prebuilt packages themselves require Android v10+ (armv7a) / v11+ 
(aarch64) too, and are built with NDK r26d. Shared druntime and 
Phobos libraries are now available (`-link-defaultlib-shared`), 
as on regular Linux.


Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.38.0-beta1


Please help test, and thanks to all contributors & sponsors!


Re: Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

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

On Thursday, 11 April 2024 at 01:21:41 UTC, Walter Bright wrote:
Wow! Talking at ACCU is an honor. I'm so pleased you're doing 
this!


Thank you all!

The talk was well received, and I've challenged folks to try D 
for an hour through the D Lang Tour. :)


Slides are available below, and I believe the video of the talk 
will be posted in the coming months for free on YouTube.


https://mshah.io/conf/24/ACCU%202024%20_%20How%20DLang%20Improves%20my%20Modern%20C++%20and%20Vice%20Versa.pdf


CBOR with Mir Ion

2024-04-19 Thread 9il via Digitalmars-d-announce
Mir-Ion 2.3.0 
[got](https://github.com/libmir/mir-ion/blob/master/source/mir/ser/cbor.d) CBOR serialzation. It is the fastest Mir serialization target.


I have no plans for CBOR deserialization. It can be implemented 
using the MsgPack deserialization target as a draft.




Dlang club meeting tonight at 7

2024-04-18 Thread Walter Bright via Digitalmars-d-announce

https://x.com/WalterBright/status/1781022970984775915


Re: Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

2024-04-16 Thread Kagamin via Digitalmars-d-announce
My favorite example is glibc implementation of `putenv` function: 
it first finds the '=' character and takes a temporary slice of 
the variable name and then employs a tortured null terminated 
string cope trying to allocate a string with alloca or malloc, 
then copies the slice there and passes the resulting null 
terminated string to common `setenv` implementation, then 
cleanups the allocated string. And there I thought: "ugh, dude, 
what are you doing, just pass the slice as is".


Re: Serverino 0.7.0

2024-04-14 Thread Andrea Fontana via Digitalmars-d-announce

On Monday, 15 April 2024 at 01:04:40 UTC, aberba wrote:


Link to code sample?


https://github.com/trikko/serverino/tree/master/examples/06_websocket_noise_stream

Andrea


Re: Serverino 0.7.0

2024-04-14 Thread aberba via Digitalmars-d-announce

On Saturday, 13 April 2024 at 16:24:52 UTC, Andrea Fontana wrote:

 Hey Serverino enthusiasts! 

Get ready to elevate your server game with the latest Serverino 
0.7.0 release! ✨


What’s new in this update? 

WebSockets are here! Now you can enjoy real-time bi-directional 
communication.


Some example I've posted on twitter:
https://twitter.com/twittatore/status/1775969115322147165
https://twitter.com/twittatore/status/1776613077053481078
https://twitter.com/twittatore/status/1774827657512841363


Have fun!
Andrea



Link to code sample?


Beerconf April

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

# BEERCONF!

To celebrate taxes, a great eclipse (and my birthday), we will 
have a nice online meetup known as Beerconf. This month it is on 
the 27-28.


Obligatory link to beerconf T's: 
https://www.zazzle.com/store/dlang_swag/products?cg=196874696466206954


## What is Beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf)

## Presentations?

The next live dconf is in 
[September](https://dconf.org/2024/index.html), and submissions 
are due on May 17. This means April beerconf might be a good time 
to try out some ideas for a presentation. Let me know if you have 
anything you want to schedule, via discord, email, or anywhere 
you find me. I will announce it, and get you an audience!


Cheers! 

-Steve


Serverino 0.7.0

2024-04-13 Thread Andrea Fontana via Digitalmars-d-announce

 Hey Serverino enthusiasts! 

Get ready to elevate your server game with the latest Serverino 
0.7.0 release! ✨


What’s new in this update? 

WebSockets are here! Now you can enjoy real-time bi-directional 
communication.


Some example I've posted on twitter:
https://twitter.com/twittatore/status/1775969115322147165
https://twitter.com/twittatore/status/1776613077053481078
https://twitter.com/twittatore/status/1774827657512841363


Have fun!
Andrea


Re: photon v0.6.0 with MacOS support

2024-04-12 Thread Dmitry Olshansky via Digitalmars-d-announce
On Friday, 12 April 2024 at 17:04:33 UTC, Richard (Rikki) Andrew 
Cattermole wrote:

On 13/04/2024 4:57 AM, Dmitry Olshansky wrote:

Next on schedule is Windows support.


I see that you left the hard one for last.

Good luck! Happy book buying.


I had an intriguing implementation for it running on top of User 
Mode Scheduling, sadly Windows folks deprecated User Mode 
Scheduling thus leaving me with a bunch of work and likely a 
narrower scope.


Re: photon v0.6.0 with MacOS support

2024-04-12 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce

On 13/04/2024 4:57 AM, Dmitry Olshansky wrote:

Next on schedule is Windows support.


I see that you left the hard one for last.

Good luck! Happy book buying.


photon v0.6.0 with MacOS support

2024-04-12 Thread Dmitry Olshansky via Digitalmars-d-announce
Photon is a transparent fibre scheduler library making 
traditional sync I/O async without modification of underlying 
boring blocking code.


https://github.com/DmitryOlshansky/photon

For usage see simple examples in the tests directory.

This release brings MacOS support, thanks to Steve Schveighoffer.

Next on schedule is Windows support.

--
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me



Re: Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

2024-04-10 Thread Walter Bright via Digitalmars-d-announce

On 4/7/2024 6:38 PM, Mike Shah wrote:
I'll be talking more about D (and modern C++) at the ACCU 2024 conference in 
Bristol (Abstract below -- talk is on April 19, 2024).


Let me know if you'll be joining (in-person or online)! The recording of the 
talk will otherwise be posted after the talk, and slides will immediately be 
available on my website after the talk is given.


https://accuconference.org/session/how-dlang-improves-my-modern-cpp-and-vice-versa

ABSTRACT: The D programming language (DLang) is a multi-paradigm language (like 
C++) developed to solve real software engineering problems. DLang has a rich 
history since its inception in 2001, and continues to be an actively evolving 
memory-safe language used in industry. In this talk, I will discuss how learning 
and using the D language has directly benefited my use and learning of C++ and 
vice versa. We'll look at the evolution of both C++ and Dlang, and see how each 
language has borrowed from each other during their most recent evolution in the 
past decade. Throughout the talk, I will provide side-by-side code comparisons 
showing idiomatic ways to complete tasks in D alongside C++ code examples. The 
goal of this talk however is not to pit one language against the other, but 
rather to show how to use each language to its strengths and learn how to become 
a better programmer. Audience members are expected to be familiar with Modern 
C++, but are not expected to have any prior D programming experience.


Wow! Talking at ACCU is an honor. I'm so pleased you're doing this!


Re: Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

2024-04-09 Thread Andrea Fontana via Digitalmars-d-announce

On Monday, 8 April 2024 at 01:38:20 UTC, Mike Shah wrote:
I'll be talking more about D (and modern C++) at the ACCU 2024 
conference in Bristol (Abstract below -- talk is on April 19, 
2024).


+1


Re: Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

2024-04-09 Thread M.M. via Digitalmars-d-announce

On Monday, 8 April 2024 at 19:45:05 UTC, Emmanuel wrote:

On Monday, 8 April 2024 at 01:38:20 UTC, Mike Shah wrote:
I'll be talking more about D (and modern C++) at the ACCU 2024 
conference in Bristol (Abstract below -- talk is on April 19, 
2024).


[...]


great piece Mike!


+1


Re: Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

2024-04-08 Thread Emmanuel via Digitalmars-d-announce

On Monday, 8 April 2024 at 01:38:20 UTC, Mike Shah wrote:
I'll be talking more about D (and modern C++) at the ACCU 2024 
conference in Bristol (Abstract below -- talk is on April 19, 
2024).


[...]


great piece Mike!


Upcoming ACCU 2024 Talk: How DLang Improves my Modern C++ and Vice Versa

2024-04-07 Thread Mike Shah via Digitalmars-d-announce
I'll be talking more about D (and modern C++) at the ACCU 2024 
conference in Bristol (Abstract below -- talk is on April 19, 
2024).


Let me know if you'll be joining (in-person or online)! The 
recording of the talk will otherwise be posted after the talk, 
and slides will immediately be available on my website after the 
talk is given.


https://accuconference.org/session/how-dlang-improves-my-modern-cpp-and-vice-versa

ABSTRACT: The D programming language (DLang) is a multi-paradigm 
language (like C++) developed to solve real software engineering 
problems. DLang has a rich history since its inception in 2001, 
and continues to be an actively evolving memory-safe language 
used in industry. In this talk, I will discuss how learning and 
using the D language has directly benefited my use and learning 
of C++ and vice versa. We'll look at the evolution of both C++ 
and Dlang, and see how each language has borrowed from each other 
during their most recent evolution in the past decade. Throughout 
the talk, I will provide side-by-side code comparisons showing 
idiomatic ways to complete tasks in D alongside C++ code 
examples. The goal of this talk however is not to pit one 
language against the other, but rather to show how to use each 
language to its strengths and learn how to become a better 
programmer. Audience members are expected to be familiar with 
Modern C++, but are not expected to have any prior D programming 
experience.


Re: Release D 2.108.0

2024-04-04 Thread Martin Tschierschke via Digitalmars-d-announce
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: Release D 2.108.0

2024-04-04 Thread Salih Dincer via Digitalmars-d-announce



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: D Language Foundation January 2024 Quarterly Meeting Summary

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

On Wednesday, 3 April 2024 at 16:25:49 UTC, Mike Parker wrote:
The D Language Foundation's quarterly meeting for January, 2024 
took place on Friday the 5th at 15:00 UTC. It lasted for about 
45 minutes.


One update is that by now, Luna is now maintaining with me the 
Objective-C meta library which is a framework for developing 
extern(Objective-C) bindings in a way that it doesn't depends on 
compiler support. Although it is less flexible than what a 
compiler can do ( you can't create your own objective-C classes 
on it, you still can create bindings to Apple's library.


Those are for reference:

https://code.dlang.org/packages/objc_meta
https://code.dlang.org/packages/d-metal-binding
https://code.dlang.org/packages/avaudioengine


Re: D Language Foundation January 2024 Quarterly Meeting Summary

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

On Wednesday, 3 April 2024 at 16:25:49 UTC, Mike Parker wrote:
The D Language Foundation's quarterly meeting for January, 2024 
took place on Friday the 5th at 15:00 UTC. It lasted for about 
45 minutes.

[snip]


Thanks for the write-up, as always.



__Question about Ddoc__

Second, when documenting template parameters vs. regular 
paramters, was there a separate segment for template 
parameters? In the language and the code, they were distinct, 
but in Ddoc there was only `Params:`. Mathias said that putting 
them all in `Params:` handled it.


Vijay asked if grouping them together was the right choice 
given that they were distinct in the language and the code. 
Mathias thought so. He said that at Sociomantic (where they had 
maintained their own fork of the compiler), they'd implemented 
`Template_Params:` at one point. He said from his experience 
with that, there wasn't much value in it. If we really wanted 
to separate them, the compiler could figure it out and we could 
just display them separately. But he didn't see the value in it.


Átila agreed. He said that you knew the names, the names 
weren't going to repeat, so you could probably tell them apart.




I haven't found myself needing a separate section for template 
parameters, but I've come across a number of bugs associated with 
ddoc (or ddox, I can't recall the difference) [1] and some are 
related to how it handles more complicated templates.


[1] 
https://issues.dlang.org/buglist.cgi?email2=john.michael.hall%40gmail.com_to2=1=1=1=1=substring_format=advanced=---_desc=ddoc_desc_type=allwordssubstr




D Language Foundation January 2024 Quarterly Meeting Summary

2024-04-03 Thread Mike Parker via Digitalmars-d-announce
The D Language Foundation's quarterly meeting for January, 2024 
took place on Friday the 5th at 15:00 UTC. It lasted for about 45 
minutes.


Our quarterly meetings are where representatives from businesses 
big and small can come to bring us their most pressing D issues, 
status reports on their use of D, and so on.


## The Attendees

The following people attended the meeting:

* Walter Bright (DLF)
* Iain Buclaw (GDC)
* Luís Ferreira (Weka)
* Max Haughton (Symmetry)
* Dennis Korpel (DLF)
* Mario Kröplin (Funkwerk)
* Mathias Lang (DLF/Symmetry)
* Vijay Nayar (Funnel-Labs.io)
* Átila Neves (DLF/Symmetry)
* Luna Nielsen (Inochi2D)
* Razvan Nitu (DLF)
* Mike Parker (DLF)
* Guillaume Piolat (Auburn Sounds)
* Carsten Rasmussen (Decard)
* Robert Schadek (DLF/Symmetry)
* Bastiaan Veelo (SARC)

## The Summary

### Luís

__Undefined references__

Luís said that Weka had encountered a lot of undefined references 
when attribute inference infers the wrong attributes. For 
example, sometimes `@nogc` was inferred when really the GC was 
being used, or vice versa. Then when linking with other modules 
where the attributes were inferred differently, they ended up 
with undefined references.


They had a workaround---creating an alias to another template 
with the mangled name that is supposed to be generated---but it 
was very cumbersome. Right now, this was their biggest issue.


He said this didn't manifest when compiling with one compiler 
invocation, but when multiple invocations were involved. They 
would like to be able shift to building with LTO and compiling 
the objects file by file rather than in one compiler invocation.


He also noted that one of the issues they had with compiling as a 
single invocation was the amount of RAM used.


He said they also saw errors with attribute inference that were 
dependent on how the compiler was invoked. Each of the files 
should compile independently, but depending on the order they're 
passed to the compiler or which ones are passed, the errors they 
get are different. He said that basically, in a specific semantic 
pass, the compiler was just giving up on attribute inference.


He also tangentially brought up a problem with [import order 
causing forward reference 
errors](https://issues.dlang.org/show_bug.cgi?id=23414).


Walter said he needed to see Bugzilla issues demonstrating the 
problems before he could attempt to fix it. Luís said there were 
some similar issues reported. He was trying to Dustmite down to 
some minimal examples. Átila noted that it was very difficult to 
isolate template issues like this. He'd run into similar issues 
over and over and hadn't yet filed anything on Bugzilla because 
it's was never a trivial example.


Walter said he understood and was aware of Átila's longstanding 
problems with this. Robert said he'd never encountered these 
problems at all, but that could be because of the way he used 
templates. Atila thoought it came down to whether you compile all 
at once or not.


Max said that Symmetry had gotten a reduced case at one point. He 
thought it had made it into Bugzilla, saying Martin would have 
filed it. That particular case may even have been fixed.


Walter reiterated that he needed a test case to reproduce it. 
Talking about it wouldn't move anything forward. Luís said he had 
a test case in the PR he had submitted in an attempt to fix it. 
He noted that Walter had also made an effort, but that the PR got 
stuck and then sank because it didn't solve the problem.


(__NOTE__: [Bugzilla Issue 
#17541](https://issues.dlang.org/show_bug.cgi?id=17541) describes 
the problem. The failed attempts Walter and Luís made to fix it 
are in [dmd PR #10959](https://github.com/dlang/dmd/pull/10959) 
and [dmd PR #15534](https://github.com/dlang/dmd/pull/15534).)


__Compile times__

Weka's biggest issues with compile times were with the 
performance of template instantiations and CTFE. They use the 
time trace flag with LDC and it shows these are the biggest 
problems.


Luís asked if there were any plans to implement caching of 
template instantiations so that they wouldn't need to be 
instantiated on subsequent runs of the compiler. He also asked if 
it would be possible for us to have a JIT to speed up CTFE.


Razvan said he was unaware of any plans to implement template 
caching. Luís said the idea would be to do something like LDC 
does with its codegen cache, where it caches the LLVM IR. Razvan 
asked if he was suggesting caching the actual template instance 
or the result after the template has been interpreted.


Luís suggested that the AST should be pure. Some work could be 
done to separate out the member functions that mutate AST nodes 
so that they could be made immutable. With such a pure AST, then 
we could make it hashable and cache some of the work after the 
semantics, after some code gen.


Razvan said there had been some discussion of this in the past, 
but he was unaware of anyone working on it.


__Linter update__

Re: Release D 2.108.0

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

On Wednesday, 3 April 2024 at 10:19:40 UTC, Nick Treleaven wrote:
On Wednesday, 3 April 2024 at 08:39:03 UTC, Ferhat Kurtulmuş 
wrote:

On Tuesday, 2 April 2024 at 21:15:16 UTC, Nick Treleaven wrote:

Official docs:
https://dlang.org/spec/istring.html


Things like: Can it be used in nogc code? etc.


Yes, the literal is just a value sequence.


Thank you. It looks like run.dlang.org is not using the last 
dmd version yet.


Yes, it's DMD64 D Compiler v2.105.3. I wanted to make the 
examples runnable in that page but we need a dmd update there.


I also noticed the 'dmd-nightly' version is v2.103.0!


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.


Ferhat


Re: Release D 2.108.0

2024-04-03 Thread Nick Treleaven via Digitalmars-d-announce
On Wednesday, 3 April 2024 at 08:39:03 UTC, Ferhat Kurtulmuş 
wrote:

On Tuesday, 2 April 2024 at 21:15:16 UTC, Nick Treleaven wrote:

Official docs:
https://dlang.org/spec/istring.html


Things like: Can it be used in nogc code? etc.


Yes, the literal is just a value sequence.


Thank you. It looks like run.dlang.org is not using the last 
dmd version yet.


Yes, it's DMD64 D Compiler v2.105.3. I wanted to make the 
examples runnable in that page but we need a dmd update there.


I also noticed the 'dmd-nightly' version is v2.103.0!


Re: Release D 2.108.0

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

On Tuesday, 2 April 2024 at 21:15:16 UTC, Nick Treleaven wrote:
On Tuesday, 2 April 2024 at 19:41:52 UTC, Ferhat Kurtulmuş 
wrote:
Could you please provide a link to the documentation that one 
should read to know everthing related to string interpolation 
in dlang.


Official docs:
https://dlang.org/spec/istring.html


Things like: Can it be used in nogc code? etc.


Yes, the literal is just a value sequence.


Thank you. It looks like run.dlang.org is not using the last dmd 
version yet.


Re: Release D 2.108.0

2024-04-02 Thread Nick Treleaven via Digitalmars-d-announce

On Tuesday, 2 April 2024 at 19:41:52 UTC, Ferhat Kurtulmuş wrote:
Could you please provide a link to the documentation that one 
should read to know everthing related to string interpolation 
in dlang.


Official docs:
https://dlang.org/spec/istring.html


Things like: Can it be used in nogc code? etc.


Yes, the literal is just a value sequence.


Re: Release D 2.108.0

2024-04-02 Thread Ferhat Kurtulmuş via Digitalmars-d-announce
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:


- In the language, named arguments for functions have been 
implemented and documented.

- In phobos, std.uni has been upgraded to Unicode 15.1.0.
- In dub, the fetch command now supports multiple arguments, 
recursive fetch, and is project-aware.



Also in this release -- Interpolation Expression Sequences 
(a.k.a. string interpolation).


Looks like a pretty sweet release to upgrade to!

-Steve


Could you please provide a link to the documentation that one 
should read to know everthing related to string interpolation in 
dlang. Things like: Can it be used in nogc code? etc.


Re: Release D 2.108.0

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

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:


- In the language, named arguments for functions have been 
implemented and documented.

- In phobos, std.uni has been upgraded to Unicode 15.1.0.
- In dub, the fetch command now supports multiple arguments, 
recursive fetch, and is project-aware.



Also in this release -- Interpolation Expression Sequences 
(a.k.a. string interpolation).


Looks like a pretty sweet release to upgrade to!

-Steve


Re: Release D 2.108.0

2024-04-01 Thread aberba via Digitalmars-d-announce

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:


- In the language, named arguments for functions have been 
implemented and documented.

- In phobos, std.uni has been upgraded to Unicode 15.1.0.
- In dub, the fetch command now supports multiple arguments, 
recursive fetch, and is project-aware.


http://dlang.org/download.html
http://dlang.org/changelog/2.108.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


Awesome. Cheers to all contributors.



Release D 2.108.0

2024-04-01 Thread Iain Buclaw via Digitalmars-d-announce

Glad to announce D 2.108.0, ♥ to the 36 contributors.

This release comes with 8 major changes and 36 fixed Bugzilla 
issues, including:


- In the language, named arguments for functions have been 
implemented and documented.

- In phobos, std.uni has been upgraded to Unicode 15.1.0.
- In dub, the fetch command now supports multiple arguments, 
recursive fetch, and is project-aware.


http://dlang.org/download.html
http://dlang.org/changelog/2.108.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team



Re: I am pleased to annouce that...

2024-04-01 Thread Dadoum via Digitalmars-d-announce
On Monday, 1 April 2024 at 08:43:11 UTC, Daniel Donnelly, Jr. 
wrote:
Exactly zero of the Qt5/6 binding libraries work either with 
dub (if they have it on there).  I have tried them all and each 
gets errors, VisualD or not.


Therefore, it is smart / safe if a Qt5/6 developer stick with 
Qt VS tools (if you can get it to function) or simply Qt 
Creator itself.


This approach is vouched safe by the above.   So I will do my 
GUI in Qt Creator, hopefully not creating a memory leak (lots 
of QSharedPointers!), but my backend will of course be in D!


:D


I am using dqt without issues though, albeit a bit ahead the dub 
version.


The version I use:

```json
"dqt": {
"repository": 
"git+https://github.com/tim-dlang/dqt.git;,

"version": "6a44b55f3a3691da930cb9eefe2a745afe1b764d"
}
```

Which errors are you encountering? Maybe it could be fixed.


I am pleased to annouce that...

2024-04-01 Thread Daniel via Digitalmars-d-announce
Exactly zero of the Qt5/6 binding libraries work either with dub 
(if they have it on there).  I have tried them all and each gets 
errors, VisualD or not.


Therefore, it is smart / safe if a Qt5/6 developer stick with Qt 
VS tools (if you can get it to function) or simply Qt Creator 
itself.


This approach is vouched safe by the above.   So I will do my GUI 
in Qt Creator, hopefully not creating a memory leak (lots of 
QSharedPointers!), but my backend will of course be in D!


:D


Re: D Language Foundation December 2023 Monthly Meeting Summary

2024-03-28 Thread Anonymouse via Digitalmars-d-announce

On Wednesday, 27 March 2024 at 20:32:16 UTC, Mike Parker wrote:

[...]


Thank you for summarising these!




D Language Foundation December 2023 Monthly Meeting Summary

2024-03-27 Thread Mike Parker via Digitalmars-d-announce
The D Language Foundation's monthly meeting for December 2023 
took place on Friday the 8th at 16:00 UTC. It lasted two hours.


## The Attendees

The following people attended the meeting:

* Andrei Alexandrescu
* Paul Backus
* Walter Bright
* Iain Buclaw
* Martin Kinkelin
* Razvan Nitu
* Mike Parker
* Adam D. Ruppe
* Steven Schveighoffer
* Timon Gehr
* Adam Wilson

## The Summary

### Me
I opened the meeting by detailing my plans for how we run our 
monthlies going forward. The approach we'd been using from the 
beginning was to give each person a turn, allowing them to bring 
up multiple topics before moving on to the next person. Sometimes 
someone had nothing to report, sometimes one or two issues, 
sometimes a progress report on their work, and sometimes one or 
more issues that got us into long discussions. Given that our 
invite list had grown quite a bit in the preceding months, this 
had become cumbersome, leading to overly long meetings or 
discussions being abruptly tabled in the interest of moving on.


So, I informed everyone that starting with our January monthly 
meeting, I would send out the invitations earlier than usual and 
ask everyone to email me a prioritized list of agenda items. Then 
at the meeting, I would only call on the people who sent me a 
list, going round robin in the order I received them, starting 
with the first item from each list, then the second, and so on, 
until either there were no more items or we hit the 
hour-and-a-half mark. If we did hit the time limit, we could 
decide whether to go on to two hours or not.


I introduced and welcomed Paul Backus. This was his first time 
with us. I'd had a call with him a couple of weeks before and 
invited him to join us. He'd said, "Sure, I can come in for a 
meeting." I told him I wasn't asking him to come to one meeting 
but to join us as a regular member. I thought his contributions 
would be valuable. Happily, he accepted.


__UPDATE__: We did start the new approach in January.

### Adam W.
Adam W. opened by telling us he'd received an email from someone 
using the crypto library he'd written a few years ago. The person 
reported some bugs and made the case that D needed crypto in the 
standard library. Without that, it was hard to know which library 
to trust. Adam W. said he was going to fix the bugs and, since he 
had now started working on Phobos v3 (which the person who 
emailed him had no way of knowing), wanted to talk later about 
getting crypto in.


Regarding Phobos v3, Adam W. said he and Walter had discussed it 
at the Seattle meetup in November. He'd sent Walter a document 
and Walter had suggested he put it up on GitHub for feedback and 
discussion. At the moment, he and Walter were having a debate 
over how to version the standard library, and he expected that 
would continue at the next Seattle meetup the following week.


__UPDATE__: You can view [the Phobos v3 Design 
document](https://github.com/LightBender/PhobosV3-Design) in Adam 
W.'s repo, and participate [in the ongoing 
discussion](https://github.com/LightBender/PhobosV3-Design/discussions). The repo was initially private, but he made it public during this meeting.


### Timon
Timon said he had some type system and language issues but didn't 
think they were at the forefront right now. He suggested we could 
discuss them in a different meeting. I asked if he wanted to get 
in on our planning sessions. He said he did.


### Adam R.
Adam R. said that the PR for the `@standalone` attribute opened 
in August and the string interpolation thing that had been open 
for a while were both stalled out. He then said he was very 
interested in the Phobos v3 stuff and would love to see the 
document. Adam W. said made the repo public and posted the link 
in the chat.


I said I'd thought Walter had approved `@standalone` in a 
previous meeting, then asked if Razvan or Dennis had looked at 
the PR. Dennis said there had been a weird test failure on it, 
but it was passing now. He thought the bug might still be there, 
but just wasn't triggering. Even so, since it was green, it was 
going to be merged. Paul said he'd dug into it and found that the 
problem was a timeout on the CI test runner, so it shouldn't be a 
blocker.


Walter said there had been disagreement over whether the feature 
should be an attribute or a pragma, and that had been his main 
objection to it. He thought it just didn't look good as an 
attribute, especially given how it was an extremely specific use 
case. He thought pragma was more suitable for it.


Adam R. noted that pragmas weren't backward compatible. Walter 
said unrecognized pragmas were supposed to be ignored. That was 
their intended purpose. Dennis said that's not how the compiler 
currently worked. There was a switch to ignore pragmas. Walter 
hadn't been aware that had been added. He told Adam he'd take a 
look at the PR again.


Timon commented that although pragmas are supposed to be benign, 
pragma mangle could break 

Re: DConf '24 Early-Bird Registration is Open, Submission Deadline Set!

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

On Monday, 25 March 2024 at 20:57:39 UTC, Mike Parker wrote:

We also now have a submission deadline of June 8 AOE. Let's get 
those submissions coming in, folks!


Please note that the submission deadline is now May 17.


DConf '24 Early-Bird Registration is Open, Submission Deadline Set!

2024-03-25 Thread Mike Parker via Digitalmars-d-announce
Early-Bird registration is now open! If you're thinking about 
attending DConf this year, you've got until June 17 to take 
advantage of the 15% discount. General registration opens on June 
18. As always, students can register at a discounted rate that 
remains fixed throughout the registration period.


All of the details are on the DConf '24 homepage:

https://dconf.org/2024/

We also now have a submission deadline of June 8 AOE. Let's get 
those submissions coming in, folks!


Note that this year, we have some text fields along with the 
PayPal button. One of them is where you can let us know if you 
have any special dietary requirements. The other is to let us 
know if you'd like a nickname, like a forum or GitHub handle, 
included on your name tag. Please let me know if you have any 
issues making the payment.


See you in London!


Re: Beerconf March (dconf online)

2024-03-22 Thread Steven Schveighoffer via Digitalmars-d-announce
On Monday, 18 March 2024 at 22:15:49 UTC, Richard (Rikki) Andrew 
Cattermole wrote:
Perhaps we can do the usual end of month time as well, I'll 
give you a ping if I can do it.


Depends upon how the week leading up to it for me goes (may not 
go well).


I missed everything, due to being on a trip -- still haven't even 
watched the talks!


And I should remind you that the last weekend of March is Easter 
(and I also would not be able to be there due to other events).


-Steve


Re: DConf Online Livestream Link

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

On Sunday, 10 March 2024 at 16:07:23 UTC, Mike Parker wrote:
The countdown is on! I'll kick off the DConf Online Livestream 
at 14:55 UTC on March 16. You can find it here:


https://www.youtube.com/live/8GV_TuYk3lk

And if you haven't seen the details yet, take a look here:
https://dconf.org/2024/online/index.html

See you there!


Finally got around to start watching.

On the tuple talk, Timon says on slide 32 that heterogeneous 
dynamic arrays don’t make much sense. I agree maybe not a 
completely heterogeneous one, but data frames are incredibly 
popular and quite similar. You could think of a data frame like a 
tuple composed of N-dimensional slices, but also with a 
slice-like interface.




Re: Beerconf March (dconf online)

2024-03-21 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce

On 22/03/2024 5:36 AM, Ethan wrote:
On Monday, 18 March 2024 at 22:15:49 UTC, Richard (Rikki) Andrew 
Cattermole wrote:
Perhaps we can do the usual end of month time as well, I'll give you a 
ping if I can do it.


At this rate I could very well be on a plane again, to more southern 
destinations this time.


Naturally, naturally.

Let me know when things calm down for you!


Re: Beerconf March (dconf online)

2024-03-21 Thread Ethan via Digitalmars-d-announce
On Monday, 18 March 2024 at 22:15:49 UTC, Richard (Rikki) Andrew 
Cattermole wrote:
Perhaps we can do the usual end of month time as well, I'll 
give you a ping if I can do it.


At this rate I could very well be on a plane again, to more 
southern destinations this time.


Re: Beta 2.108.0

2024-03-21 Thread Salih Dincer via Digitalmars-d-announce

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

2024-03-21 Thread Martin Tschierschke via Digitalmars-d-announce

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: Beta 2.108.0

2024-03-21 Thread Andrea Fontana via Digitalmars-d-announce

On Thursday, 21 March 2024 at 03:19:16 UTC, Salih Dincer wrote:

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


This?

```
import std;

void main()
{
int number = 32409;
auto hex = format("%X", number);
writeln(hex);
}
```

or:

```
auto toHex(N)(N number) if (isIntegral!N) { return 
"%X".format(number); }

...
auto hex = 3432.toHex();
...

```



Re: Beta 2.108.0

2024-03-20 Thread Salih Dincer via Digitalmars-d-announce

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: Beta 2.108.0

2024-03-20 Thread WebFreak001 via Digitalmars-d-announce

On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote:
Glad to announce the first beta for the 2.108.0 release, ♥ to 
the 35 contributors.


This release comes with 7 major changes and 48 fixed Bugzilla 
issues, including:


 - In the language, support has been added for Interpolated 
Expression Sequences.

 - In phobos, std.uni has been upgraded to Unicode 15.1.0.
 - In dub, the fetch command now supports multiple arguments, 
recursive fetch, and is project-aware.


http://dlang.org/download.html#dmd_beta
http://dlang.org/changelog/2.108.0.html

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


woah this release is amazing! It's solving some of my long 
standing pain points missing with the language (in particular 
named arguments as struct initializer replacements and 
interpolated strings) - the other features may only be very niche 
things, however they are absolutely plenty appreciated since they 
drastically make things easier (hexstrings) or even possible in 
the first place (magic initializer thingies) for library code and 
generated code.


This gives me excitement like older D releases used to feel 
again, as well as in the forums real usage of D in projects or 
samples instead of pointless discussions seem to also be gaining 
more popularity again.


Can't wait for the full release, gonna try out using new features 
from this beta one already.


Re: Beta 2.108.0

2024-03-20 Thread Anonymouse via Digitalmars-d-announce

On Saturday, 2 March 2024 at 17:40:29 UTC, Iain Buclaw wrote:

[...]


Named arguments for functions have been implemented and 
documented


Yay, I was really looking forward to this.

I currently use `std.typecons.Flag` virtually *everywhere* to 
make sure I don't confuse parameters.


```d
auto doThing(
const string what,
const Flag!"foo" foo,
const Flag!"bar" bar,
const Flag!"baz" baz = No.baz)
{
// ...
}

auto thing = doThing("asdf", Yes.foo, No.bar, Yes.baz);
```

It will take some time adapting to but I welcome the addition.


Re: Beta 2.108.0

2024-03-20 Thread Sönke Ludwig via Digitalmars-d-announce

Am 16.03.2024 um 11:31 schrieb Daniel N:

```d
union U
{
     float asFloat;
     uint asInt;
}

auto u0 = U(1.0); // this sets the `asFloat` field
auto u1 = U(asInt: 0x3F80); // formerly not possible
```

Wow, this is so cool, can't wait to try it out, thanks to everyone who 
made it happen!




Note that this has already been possible in places where the {} syntax 
can be used:


auto u1 = {asInt: 0x3F80};

Still great to see this officially implemented!



Re: D-wrappers BLAKE3 wrapping C library libblake3

2024-03-20 Thread Per Nordlöw via Digitalmars-d-announce

On Tuesday, 19 March 2024 at 15:38:40 UTC, Ben Jones wrote:

On Tuesday, 19 March 2024 at 08:40:37 UTC, Per Nordlöw wrote:

On Tuesday, 19 March 2024 at 08:35:55 UTC, Per Nordlöw wrote:


I just added a D implementation to dmd 
(https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/blake3.d) which doesn't support streaming, so is probably somewhat simpler/smaller, in case that's useful


Use, that's the reason why added blake3-d.

The function, testVector in DMD can be made static, btw.


Re: D-wrappers BLAKE3 wrapping C library libblake3

2024-03-19 Thread Ben Jones via Digitalmars-d-announce

On Tuesday, 19 March 2024 at 08:40:37 UTC, Per Nordlöw wrote:

On Tuesday, 19 March 2024 at 08:35:55 UTC, Per Nordlöw wrote:


I just added a D implementation to dmd 
(https://github.com/dlang/dmd/blob/master/compiler/src/dmd/common/blake3.d) which doesn't support streaming, so is probably somewhat simpler/smaller, in case that's useful





Re: DConf Online Livestream Link

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

On Monday, 18 March 2024 at 11:11:03 UTC, Nick Treleaven wrote:



BTW each link to slides is giving me a 404. Luckily the live 
stream video is still up to rewind :-)


I thought I'd fixed that the other day (I'd forgotten to add the 
slides directory to the Makefile initially), but apparently make 
behaves differently on Mac and Linux. Fixed now.


Re: D-wrappers BLAKE3 wrapping C library libblake3

2024-03-19 Thread Per Nordlöw via Digitalmars-d-announce

On Tuesday, 19 March 2024 at 08:35:55 UTC, Per Nordlöw wrote:

- Compliant with std.digest.
- Current compiles C libraries directly for maximum performance.
- Might need some adjustments with compiler flags.

See https://code.dlang.org/packages/blake3-d.

Please see details on the building of the wrapped C library 
using cmake and make. Probably needs some TLC for 
platform-independence.


I just realized that dub doesn't work with git submodules. Shall 
I include a git clone in the provisioning script or simply copy 
(vendor) BLAKE3/c into the repo for now?


D-wrappers BLAKE3 wrapping C library libblake3

2024-03-19 Thread Per Nordlöw via Digitalmars-d-announce

- Compliant with std.digest.
- Current compiles C libraries directly for maximum performance.
- Might need some adjustments with compiler flags.

See https://code.dlang.org/packages/blake3-d.

Please see details on the building of the wrapped C library using 
cmake and make. Probably needs some TLC for platform-independence.


Re: Beerconf March (dconf online)

2024-03-18 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce

On 19/03/2024 10:46 AM, Ethan wrote:

On Saturday, 9 March 2024 at 13:34:50 UTC, Steven Schveighoffer wrote:

# BEERCONF!


And here I was getting on the newsgroups to see if BeerConf was coming 
up sometime soon. I was on planes last weekend anyway so it would have 
been quite impractical to jump on.


Perhaps we can do the usual end of month time as well, I'll give you a 
ping if I can do it.


Depends upon how the week leading up to it for me goes (may not go well).


Re: Beerconf March (dconf online)

2024-03-18 Thread Ethan via Digitalmars-d-announce
On Saturday, 9 March 2024 at 13:34:50 UTC, Steven Schveighoffer 
wrote:

# BEERCONF!


And here I was getting on the newsgroups to see if BeerConf was 
coming up sometime soon. I was on planes last weekend anyway so 
it would have been quite impractical to jump on.


Re: DConf Online Livestream Link

2024-03-18 Thread Nick Treleaven via Digitalmars-d-announce

On Monday, 18 March 2024 at 11:33:08 UTC, Andrea Fontana wrote:

https://github.com/dlang/dconf.org/tree/master/2024/online/slides


Thanks!


Re: DConf Online Livestream Link

2024-03-18 Thread Andrea Fontana via Digitalmars-d-announce

On Monday, 18 March 2024 at 11:11:03 UTC, Nick Treleaven wrote:

On Sunday, 10 March 2024 at 16:07:23 UTC, Mike Parker wrote:
The countdown is on! I'll kick off the DConf Online Livestream 
at 14:55 UTC on March 16. You can find it here:


https://www.youtube.com/live/8GV_TuYk3lk

And if you haven't seen the details yet, take a look here:
https://dconf.org/2024/online/index.html

See you there!


This was great, interesting selection of talks.

BTW each link to slides is giving me a 404. Luckily the live 
stream video is still up to rewind :-)


https://github.com/dlang/dconf.org/tree/master/2024/online/slides

Andrea


Re: DConf Online Livestream Link

2024-03-18 Thread Nick Treleaven via Digitalmars-d-announce

On Sunday, 10 March 2024 at 16:07:23 UTC, Mike Parker wrote:
The countdown is on! I'll kick off the DConf Online Livestream 
at 14:55 UTC on March 16. You can find it here:


https://www.youtube.com/live/8GV_TuYk3lk

And if you haven't seen the details yet, take a look here:
https://dconf.org/2024/online/index.html

See you there!


This was great, interesting selection of talks.

BTW each link to slides is giving me a 404. Luckily the live 
stream video is still up to rewind :-)


Re: I've just finished the last version of the GUI for the DMD compiler, now it works on Linux too.

2024-03-16 Thread Murilo via Digitalmars-d-announce

On Friday, 15 March 2024 at 14:18:31 UTC, someone wrote:

On Thursday, 14 March 2024 at 06:19:08 UTC, Murilo wrote:
I've just finished the last version of the GUI for the DMD 
compiler, now it works on Linux too. It's perfect.

https://github.com/MuriloMir/DMD-GUI

Source code where?


It is the last file, called source.d.


Re: DConf Online Livestream Link

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

On Sunday, 10 March 2024 at 16:07:23 UTC, Mike Parker wrote:
The countdown is on! I'll kick off the DConf Online Livestream 
at 14:55 UTC on March 16. You can find it here:


https://www.youtube.com/live/8GV_TuYk3lk

And if you haven't seen the details yet, take a look here:
https://dconf.org/2024/online/index.html

See you there!


We're a few minutes away from kicking off.


Re: Beta 2.108.0

2024-03-16 Thread Lance Bachmeier via Digitalmars-d-announce

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

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


It's only getting a quick mention in the middle of the list of 
bug fixes, but "Bugzilla 24397: Support C preprocessor 
function-like macros" is a big deal for ImportC - that was the 
final piece needed to use ImportC with large C files without 
manual intervention. (At least that's the case for the code I'm 
working with.)


Re: Beerconf March (dconf online)

2024-03-16 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce

Linkity link for BeerConf: https://meet.jit.si/Dlang2024MarchBeerConf

And starting in under 3 hours DConf Online: 
https://www.youtube.com/watch?v=8GV_TuYk3lk




Re: Beta 2.108.0

2024-03-16 Thread Daniel N via Digitalmars-d-announce

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

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team


```d
union U
{
float asFloat;
uint asInt;
}

auto u0 = U(1.0); // this sets the `asFloat` field
auto u1 = U(asInt: 0x3F80); // formerly not possible
```

Wow, this is so cool, can't wait to try it out, thanks to 
everyone who made it happen!






Re: Beta 2.108.0

2024-03-16 Thread Iain Buclaw via Digitalmars-d-announce
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

As usual please report any bugs at
https://issues.dlang.org

-Iain
on behalf of the Dlang Core Team




Re: Beerconf March (dconf online)

2024-03-16 Thread Richard (Rikki) Andrew Cattermole via Digitalmars-d-announce

Heads up to all, its DConf Online 2024 in 7 hours!

I'll put up a link for BeerConf in around 5 hours, get ready with ya brews!


Re: I've just finished the last version of the GUI for the DMD compiler, now it works on Linux too.

2024-03-15 Thread someone via Digitalmars-d-announce

On Thursday, 14 March 2024 at 06:19:08 UTC, Murilo wrote:
I've just finished the last version of the GUI for the DMD 
compiler, now it works on Linux too. It's perfect.

https://github.com/MuriloMir/DMD-GUI

Source code where?


Re: fastcgi-native

2024-03-15 Thread Martin Tschierschke via Digitalmars-d-announce
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

2024-03-14 Thread Ferhat Kurtulmuş via Digitalmars-d-announce
On Thursday, 14 March 2024 at 13:06:10 UTC, Martin Tschierschke 
wrote:
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...?


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


Re: fastcgi-native

2024-03-14 Thread Martin Tschierschke via Digitalmars-d-announce

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


I've just finished the last version of the GUI for the DMD compiler, now it works on Linux too.

2024-03-14 Thread Murilo via Digitalmars-d-announce
I've just finished the last version of the GUI for the DMD 
compiler, now it works on Linux too. It's perfect.

https://github.com/MuriloMir/DMD-GUI


Re: Is D programming friendly for beginners?

2024-03-13 Thread bachmeier via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 19:07:25 UTC, M.M. wrote:

I was always wondering about this debate on a suitable "first" 
programming language in a CS curriculum. I largely observe one 
dividing point: to start with a strongly-typed language or not. 
(After that, it probably does not matter so much which language 
is chosen; alas, it should be available on Windows, Linux, and 
Mac OS). Do you observe similar sentiment in the discussions in 
the university settings?


I'm not a CS person so I'll have to defer to others (their needs 
are very different). My grad students are doing more complicated 
programming for data analysis and simulation. I focus on 
recursion and using a functional programming approach, because 
that simplifies things so much for these types of problems. All I 
need is a language that supports that.


Re: Is D programming friendly for beginners?

2024-03-13 Thread Martin Tschierschke 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


The free digital book from Ali, is written to fit your need:

https://ddili.org/ders/d.en/index.html


Re: Is D programming friendly for beginners?

2024-03-13 Thread M.M. via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 22:27:11 UTC, Mike Shah wrote:

On Tuesday, 12 March 2024 at 20:40:49 UTC, Meta wrote:

On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:

[...]


I think it really depends on the person. My first language was 
C++, which was absolute hell to learn as a complete beginner 
to programming, but I really wanted to learn a language with 
low-level capabilities that could also do gamedev. Learning 
C++ as my first language was incredibly difficult, but it also 
made the programming parts of my CS degree a breeze - 
especially courses like machine level programming. Nobody else 
in the class even understood what a pointer was for the first 
couple weeks.


I've been at institutions where C++ is the first language and 
for most folks who were sure they wanted to do programming it 
was a fine enough language (when taught with care) to teach. In 
fact, it benefited me (and other instructors) quite a bit when 
I saw those students later and taught them computer graphics 
(usually taught in C++ to prepare them for job market).


For folks who were not sure if they wanted to study computer 
science, unfortunately they were scared away as they thought 
this was the only path for programming (i.e. C++, assembly, 
etc.). For this reason, a language that is gentler (e.g. 
Python, JavaScript, or I also suspect a large subset of D) 
would all have been better choices. More universities these 
days are offering courses with gentler options (e.g. 
Programming for non-majors) which usually take this approach to 
more slowly ramp students up -- which I think is a good thing 
to have these offerings. And then later on in the program, 
these students can learn the good stuff (i.e. systems, 
compilers, graphics, etc. :) )


I understand that outside of CS, something like Python is a fine 
choice, hiding many low-level details. But within a 
CS-curriculum, one needs to come beyond basics-of-programming to 
something like efficient algorithm-design-and-data-structures; 
isn't a typed language better here? (Like the quote of Knuth 
says: if you do not understand the hardware behind, your programs 
will look weird. I have observed this a lot with current 
data-science students, which use a map/dictionary for everything, 
largely ignoring the existence of arrays).


Re: Is D programming friendly for beginners?

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

On Tuesday, 12 March 2024 at 20:40:49 UTC, Meta wrote:

On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:

On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:

...
I really think D would be a wonderful first language.  Fast 
feedback, no need to manage memory, and easy to use built-in 
data structures would make for a nice intro course.


If you say that D would be a good language to learn in lieu 
C++/Rust I'd agree, but as a First Language neither one would 
be my choice.


Most here already program and know things, but as a first 
language forget, at least where and when I did college 
(Already knowing how to program), most people were lost with 
all the concepts of C++ for example.


Bitwise shifts like << >> and the same operators being used in 
cin/cout may be OK for most people already in programming and 
using shell, but for those learning was a hell.


Matheus.


I think it really depends on the person. My first language was 
C++, which was absolute hell to learn as a complete beginner to 
programming, but I really wanted to learn a language with 
low-level capabilities that could also do gamedev. Learning C++ 
as my first language was incredibly difficult, but it also made 
the programming parts of my CS degree a breeze - especially 
courses like machine level programming. Nobody else in the 
class even understood what a pointer was for the first couple 
weeks.


I've been at institutions where C++ is the first language and for 
most folks who were sure they wanted to do programming it was a 
fine enough language (when taught with care) to teach. In fact, 
it benefited me (and other instructors) quite a bit when I saw 
those students later and taught them computer graphics (usually 
taught in C++ to prepare them for job market).


For folks who were not sure if they wanted to study computer 
science, unfortunately they were scared away as they thought this 
was the only path for programming (i.e. C++, assembly, etc.). For 
this reason, a language that is gentler (e.g. Python, JavaScript, 
or I also suspect a large subset of D) would all have been better 
choices. More universities these days are offering courses with 
gentler options (e.g. Programming for non-majors) which usually 
take this approach to more slowly ramp students up -- which I 
think is a good thing to have these offerings. And then later on 
in the program, these students can learn the good stuff (i.e. 
systems, compilers, graphics, etc. :) )


Re: Is D programming friendly for beginners?

2024-03-12 Thread H. S. Teoh via Digitalmars-d-announce
On Tue, Mar 12, 2024 at 08:40:49PM +, Meta via Digitalmars-d-announce wrote:
[...]
> I think it really depends on the person. My first language was C++, which
> was absolute hell to learn as a complete beginner to programming, but I
> really wanted to learn a language with low-level capabilities that could
> also do gamedev. Learning C++ as my first language was incredibly difficult,
> but it also made the programming parts of my CS degree a breeze - especially
> courses like machine level programming. Nobody else in the class even
> understood what a pointer was for the first couple weeks.

People who are more than casually interested in computers should
have at least some idea of what the underlying hardware is like.
Otherwise the programs they write will be pretty weird.
-- D. Knuth

;-)


T

-- 
Just because you can, doesn't mean you should.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Meta via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:

On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:

...
I really think D would be a wonderful first language.  Fast 
feedback, no need to manage memory, and easy to use built-in 
data structures would make for a nice intro course.


If you say that D would be a good language to learn in lieu 
C++/Rust I'd agree, but as a First Language neither one would 
be my choice.


Most here already program and know things, but as a first 
language forget, at least where and when I did college (Already 
knowing how to program), most people were lost with all the 
concepts of C++ for example.


Bitwise shifts like << >> and the same operators being used in 
cin/cout may be OK for most people already in programming and 
using shell, but for those learning was a hell.


Matheus.


I think it really depends on the person. My first language was 
C++, which was absolute hell to learn as a complete beginner to 
programming, but I really wanted to learn a language with 
low-level capabilities that could also do gamedev. Learning C++ 
as my first language was incredibly difficult, but it also made 
the programming parts of my CS degree a breeze - especially 
courses like machine level programming. Nobody else in the class 
even understood what a pointer was for the first couple weeks.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Andrea Fontana via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 19:12:03 UTC, H. S. Teoh wrote:
I don't know how CS programs are carried out these days, but 
back when I was in university, the choice of language is 
largely irrelevant, because the whole point of a programming 
course isn't to teach you a specific language, but to teach you 
the *principles* that underlie programming in general. There 
are really only a small handful of different paradigms that you 
need to learn; once you learned the principles behind them, 
they can be applied to any language out there.  You wouldn't 
need anyone to teach you a new language then; you could just 
learn it yourself by applying these same principles.


The rest, as they say, is just details. ;-)


T


I agree.

Andrea


Re: Is D programming friendly for beginners?

2024-03-12 Thread H. S. Teoh via Digitalmars-d-announce
On Tue, Mar 12, 2024 at 06:03:43PM +, Lance Bachmeier via 
Digitalmars-d-announce wrote:
> On Tuesday, 12 March 2024 at 17:03:42 UTC, Mike Shah wrote:
> 
> > As a note, the 'which language is best for CS 1' debate has long
> > been debated -- but at least in a school setting, I've found the
> > quality/enthusiasm/encouragement of the teacher to be the most
> > important aspect regardless of language choice.
> 
> As someone that's been teaching beginners to program at a university
> for a long time (but not in a CS department) I've come to see the
> choice of language as largely unimportant. You have to decide what you
> want to teach them and then eliminate the languages that aren't
> suitable. D is one of many languages that would work with the right
> content. Other languages, like C++, add unnecessary overhead and thus
> should not be used.
> 
> It's often said "X is a complicated language" but that's the wrong way
> to look at it. You're teaching a set of programming concepts, not a
> language.  The question is how well a particular language works for
> learning those concepts.

I don't know how CS programs are carried out these days, but back when I
was in university, the choice of language is largely irrelevant, because
the whole point of a programming course isn't to teach you a specific
language, but to teach you the *principles* that underlie programming in
general. There are really only a small handful of different paradigms
that you need to learn; once you learned the principles behind them,
they can be applied to any language out there.  You wouldn't need anyone
to teach you a new language then; you could just learn it yourself by
applying these same principles.

The rest, as they say, is just details. ;-)


T

-- 
The irony is that Bill Gates claims to be making a stable operating system and 
Linus Torvalds claims to be trying to take over the world. -- Anonymous


Re: Is D programming friendly for beginners?

2024-03-12 Thread M.M. via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 18:03:43 UTC, Lance Bachmeier wrote:

On Tuesday, 12 March 2024 at 17:03:42 UTC, Mike Shah wrote:

As a note, the 'which language is best for CS 1' debate has 
long been debated -- but at least in a school setting, I've 
found the quality/enthusiasm/encouragement of the teacher to 
be the most important aspect regardless of language choice.


As someone that's been teaching beginners to program at a 
university for a long time (but not in a CS department) I've 
come to see the choice of language as largely unimportant. You 
have to decide what you want to teach them and then eliminate 
the languages that aren't suitable. D is one of many languages 
that would work with the right content. Other languages, like 
C++, add unnecessary overhead and thus should not be used.


It's often said "X is a complicated language" but that's the 
wrong way to look at it. You're teaching a set of programming 
concepts, not a language. The question is how well a particular 
language works for learning those concepts.


I was always wondering about this debate on a suitable "first" 
programming language in a CS curriculum. I largely observe one 
dividing point: to start with a strongly-typed language or not. 
(After that, it probably does not matter so much which language 
is chosen; alas, it should be available on Windows, Linux, and 
Mac OS). Do you observe similar sentiment in the discussions in 
the university settings?


Re: Is D programming friendly for beginners?

2024-03-12 Thread Lance Bachmeier via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 17:03:42 UTC, Mike Shah wrote:

As a note, the 'which language is best for CS 1' debate has 
long been debated -- but at least in a school setting, I've 
found the quality/enthusiasm/encouragement of the teacher to be 
the most important aspect regardless of language choice.


As someone that's been teaching beginners to program at a 
university for a long time (but not in a CS department) I've come 
to see the choice of language as largely unimportant. You have to 
decide what you want to teach them and then eliminate the 
languages that aren't suitable. D is one of many languages that 
would work with the right content. Other languages, like C++, add 
unnecessary overhead and thus should not be used.


It's often said "X is a complicated language" but that's the 
wrong way to look at it. You're teaching a set of programming 
concepts, not a language. The question is how well a particular 
language works for learning those concepts.


Re: Is D programming friendly for beginners?

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

On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:

On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:

...
I really think D would be a wonderful first language.  Fast 
feedback, no need to manage memory, and easy to use built-in 
data structures would make for a nice intro course.


If you say that D would be a good language to learn in lieu 
C++/Rust I'd agree, but as a First Language neither one would 
be my choice.


Most here already program and know things, but as a first 
language forget, at least where and when I did college (Already 
knowing how to program), most people were lost with all the 
concepts of C++ for example.


Bitwise shifts like << >> and the same operators being used in 
cin/cout may be OK for most people already in programming and 
using shell, but for those learning was a hell.


Matheus.


I agree (and I've made my case from my DConf talk with some data) 
D is much more productive than C++ for students (especially in 
the scope of a quarter or semester long course).


I probably would recommend in the general case that someone who 
wants to try programming to start with Python or JavaScript -- 
purely because the start up cost is smaller, and the vast amount 
of packages let beginners do something interesting quickly.


That said, in a university curriculum (where students have 
multiple semesters), D could prove nice as an intro language as 
it has the ability to scale up in difficulty over time. I think D 
is friendly enough that it would not immediately turn away 
beginners from computer science programs (But ultimately Python 
probably wins for now in this category).


As a note, the 'which language is best for CS 1' debate has long 
been debated -- but at least in a school setting, I've found the 
quality/enthusiasm/encouragement of the teacher to be the most 
important aspect regardless of language choice.


Re: Is D programming friendly for beginners?

2024-03-12 Thread matheus. via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:

...
I really think D would be a wonderful first language.  Fast 
feedback, no need to manage memory, and easy to use built-in 
data structures would make for a nice intro course.


If you say that D would be a good language to learn in lieu 
C++/Rust I'd agree, but as a First Language neither one would be 
my choice.


Most here already program and know things, but as a first 
language forget, at least where and when I did college (Already 
knowing how to program), most people were lost with all the 
concepts of C++ for example.


Bitwise shifts like << >> and the same operators being used in 
cin/cout may be OK for most people already in programming and 
using shell, but for those learning was a hell.


Matheus.


Re: Is D programming friendly for beginners?

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

On Tuesday, 12 March 2024 at 14:03:30 UTC, Bastiaan Veelo wrote:

On Monday, 11 March 2024 at 12:30:10 UTC, Doigt wrote:

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:
I want to start learning D programming language it looks 
interesting


Depends what you mean by "beginner". If you've never 
programmed before and D is your first language, then the 
answer is a definite no.


Why definitely not?

https://youtu.be/V2YwTIIMEeU?si=j3cQzzN4jsUQrN9C=682

-- Bastiaan.


I really think D would be a wonderful first language.  Fast 
feedback, no need to manage memory, and easy to use built-in data 
structures would make for a nice intro course.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Bastiaan Veelo via Digitalmars-d-announce

On Monday, 11 March 2024 at 12:30:10 UTC, Doigt wrote:

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:
I want to start learning D programming language it looks 
interesting


Depends what you mean by "beginner". If you've never programmed 
before and D is your first language, then the answer is a 
definite no.


Why definitely not?

https://youtu.be/V2YwTIIMEeU?si=j3cQzzN4jsUQrN9C=682

-- Bastiaan.


Re: Is D programming friendly for beginners?

2024-03-11 Thread Doigt 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


Depends what you mean by "beginner". If you've never programmed 
before and D is your first language, then the answer is a 
definite no.


fastcgi-native

2024-03-11 Thread Ferhat Kurtulmuş via Digitalmars-d-announce
A small utility if anyone needs. 
https://github.com/aferust/fastcgi-native

https://code.dlang.org/packages/fastcgi-native


Re:  Announcing Serverino 0.6.0! 

2024-03-10 Thread Andrea Fontana via Digitalmars-d-announce

Thank you! Inline replies >>>

On Sunday, 10 March 2024 at 21:04:05 UTC, aberba wrote:


1) I'm not sure I like concat (~=)
 style used on `Output output` and how it can determine the 
order routes are invoked. I would expect that to be explicitly 
defined by Dev using a catch-all route or else the sever 
returns 404 by default. That's going to prevent the chances of 
invoking the wrong route especially when it does something 
important/dangerous/unexpected.


Serverino works with priorities, that's the order the handlers 
are called! You're checks on handlers can easily filter request.





2) instead of doing:

```d
if (request.method != Request.Method.Get)
output.status = 405;
```

to determine the request method, why not use a UDA similar to 
`@route` ...like `@method(Request.Method.post)`? The use of UDA 
is so much cleaner and easier to deal with.




This works as well, indeed:
@route!(r => r.method == Request.Method.Post)



3) would be nice to have an `output.json()` function which both 
sets the response header and also calls `output.write()`


Just add content type and you're done!

4. I can't build anything significant in any http server 
library without support for middleware. Preferably support for 
multiple middlewares functions. A middleware would be a 
function that runs after the @onServerInit but BEFORE any route 
handler. It will be used to intercept all incoming requests for 
things like authentication, rate limiting, CORS, etc. 
Preferably provide a way to pass data to the target route e.g. 
user session, user permission, etc...like 
output.locals.set("userId", 123). The route will then be able 
to access this data.


Just use a high priority handler, check the tips on website, for 
example user auth.


That's a very clean way to add a layer of Auth, logging and so 
on...



All in all, everything else looks good. I would prefer 
something like:


```d
void hello (Request req, Response res) {
res.write("hello");
}
```
...but `Output` is also fine... just a small nitpick.


output.write() works as well.

Andrea



Re:  Announcing Serverino 0.6.0! 

2024-03-10 Thread aberba via Digitalmars-d-announce

On Thursday, 7 March 2024 at 21:00:03 UTC, Andrea Fontana wrote:
Performance has been boosted once again, and those pesky little 
bugs? Squashed! Plus, there are fresh examples to try out and 
even a sleek new logo to admire!


Ready to dive in? Just spin up a new project using the provided 
template:


```
dub init -t serverino my_wonderful_project
cd my_wonderful_project
dub
```

And voilà! Your hello world will be up and running in **a 
couple of seconds**! 



Have fun!
Andrea Fontana

(I know some of you are already on board, but how many are 
sailing in secret? Come out of the shadows and let me know! 
Your feedback is the wind in serverino's sails)


Repository: https://github.com/trikko/serverino
Docs: https://trikko.github.io/serverino
Examples: 
https://github.com/trikko/serverino/tree/master/examples

Tips: https://github.com/trikko/serverino/wiki/


I'm a heavy user of big express (js) library and I like what I'm 
seeing. Looks simple and clean. Here are some suggestions:


1) I'm not sure I like concat (~=)
 style used on `Output output` and how it can determine the 
order routes are invoked. I would expect that to be explicitly 
defined by Dev using a catch-all route or else the sever returns 
404 by default. That's going to prevent the chances of invoking 
the wrong route especially when it does something 
important/dangerous/unexpected.



2) instead of doing:

```d
if (request.method != Request.Method.Get)
output.status = 405;
```

to determine the request method, why not use a UDA similar to 
`@route` ...like `@method(Request.Method.post)`? The use of UDA 
is so much cleaner and easier to deal with.



3) would be nice to have an `output.json()` function which both 
sets the response header and also calls `output.write()`


4. I can't build anything significant in any http server library 
without support for middleware. Preferably support for multiple 
middlewares functions. A middleware would be a function that runs 
after the @onServerInit but BEFORE any route handler. It will be 
used to intercept all incoming requests for things like 
authentication, rate limiting, CORS, etc. Preferably provide a 
way to pass data to the target route e.g. user session, user 
permission, etc...like output.locals.set("userId", 123). The 
route will then be able to access this data.



All in all, everything else looks good. I would prefer something 
like:


```d
void hello (Request req, Response res) {
res.write("hello");
}
```
...but `Output` is also fine... just a small nitpick.



Beerconf March (dconf online)

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

# BEERCONF!

Dconf online is upon us next weekend! Instead of holding the 
normal beerconf at the end of the month, this month we will do a 
special early edition, to coincide with dconf online. We will 
start it on the 16th, and go through Sunday as usual.


## What is Beerconf?

Check out the [wiki article](https://wiki.dlang.org/Beerconf)

## Presentations?

Um... yeah, there [are 
some](https://dconf.org/2024/online/index.html)


Cheers! 

-Steve


Re: SecureD 3.0 has been released!

2024-03-07 Thread Adam Wilson via Digitalmars-d-announce

On Thursday, 7 March 2024 at 17:06:00 UTC, Andrea Fontana wrote:

On Wednesday, 6 March 2024 at 07:47:04 UTC, Adam Wilson wrote:
SecureD 3.0 has been released. This version was set in motion 
by a Cedric Picard, a D community member with Cryptography 
experience, reaching out and suggesting a number of 
improvements to the Symmetric and KDF API's. This resulted in 
an API for symmetric encryption that improves correctness and 
security without significantly increasing developer workload. 
Also improved is the encryption envelope that contains 
symmetrically encrypted data.


Algorithm Changes:
- Removed: SHA2-224, AES-OFB
- Added: SHA3-224/256/384/512

And I even remembered to update the examples in the README.

Future work will focus on using the Operating System provided 
cryptography where available.


Check it out here: https://code.dlang.org/packages/secured


Well done Adam!

I only miss the docs :)

Andrea


Yea, I totally whiffed and forgot to add examples for the new 
methods. And I can never seem to find the time for the DDoc 
comments that it really needs. It'll happen ... someday.


Re: SecureD 3.0 has been released!

2024-03-07 Thread Adam Wilson via Digitalmars-d-announce

On Thursday, 7 March 2024 at 11:04:08 UTC, Dukc wrote:

On Wednesday, 6 March 2024 at 07:47:04 UTC, Adam Wilson wrote:
This version was set in motion by a Cedric Picard, a D 
community member with Cryptography experience, reaching out 
and suggesting a number of improvements to the Symmetric and 
KDF API's.


Wow, a Cym13 verified crypto library - excellent news!


Indeed. I was actually excited to get the feedback. I am quite 
proud of what this release accomplished.


Re: SecureD 3.0 has been released!

2024-03-07 Thread Adam Wilson via Digitalmars-d-announce

On Thursday, 7 March 2024 at 08:17:47 UTC, aberba wrote:

On Wednesday, 6 March 2024 at 07:47:04 UTC, Adam Wilson wrote:
SecureD 3.0 has been released. This version was set in motion 
by a Cedric Picard, a D community member with Cryptography ...




And I even remembered to update the examples in the README.


+1

I wish more packages did this


And even then I still forgot to add examples for the new Password 
methods...


  1   2   3   4   5   6   7   8   9   10   >