Re: Browsers in D

2023-12-20 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 20 December 2023 at 00:07:44 UTC, Adam D Ruppe 
wrote:

On Tuesday, 19 December 2023 at 23:40:48 UTC, Antonio wrote:

[...]


Oh, I'm old enough to remember the Chrome auto-update that 
broke standard HTML links! It was such a pain supporting it in 
the first few years, while IE and Firefox were both working 
pretty well at the time.


But, like I just said in the other post, Firefox has near-zero 
support for being embedded in other applications. If you know 
of a way that we could reasonably use from D, let me know, but 
the only time I've seen an embedded Gecko is actually in the 
Wine project... and this had no other way to access it that I 
could find.



[...]


Mozilla has closed *dozens* of bugs that affect me directly as 
WONTFIX, including fairly simple to fix regressions. That's why 
I can't use it anymore.



[...]


If you wanna work on my other engine to bring it up to spec, 
feel free lol, but the screenshots speak to the functionality 
gap...


When I was the CTO of my previous company, we embedded Gecko into 
a custom C++ GUI framework, to allow ALS people browse the web 
using gazes as an input method: it was a real pain ...





Re: ImportC has improved macro support

2023-12-09 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 8 December 2023 at 05:17:30 UTC, Ki Rill wrote:
On Wednesday, 6 December 2023 at 19:59:54 UTC, Walter Bright 
wrote:

Macros with the pattern:

#define BOO ( expression )

are now translated to:

auto BOO()() { return expression; }

and are available for importing!


This is amazing! It should solve the disappearing of enum-like 
definitions in code. I encountered this in Raylib. It has 
colors defined as macros:


```c
#define WHITE (Color){255, 255, 255, 255}
```

I preprocessed the file and all color definitions were gone. I 
had to redefine them manually.


Nuklear does the same too for their Flags.


Same situation here, with RayLib!
I really really like the way importC is improving, kudos to 
Walter!


/Paolo


Re: DLF September 2023 Planning Update

2023-11-14 Thread Paolo Invernizzi via Digitalmars-d-announce
On Tuesday, 14 November 2023 at 18:01:36 UTC, Guillaume Piolat 
wrote:
On Tuesday, 14 November 2023 at 15:05:34 UTC, Steven 
Schveighoffer wrote:

[...]


+1 and only the introduction of edition has this problem, it's 
a one time cost for the ecosystem.


+1 too


Re: Blog post: How we are using D to develop Aspect from the ground up

2023-10-24 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 23 October 2023 at 19:02:46 UTC, Sönke Ludwig wrote:
I've written up an article that showcases how we use D in 
production and how that benefits us in unique ways. The format 
of a single blog post limits the detail into which it can go, 
given the broad scope, so this is probably not super 
interesting to long time D users, but maybe it sparks some 
interest for people who just loosely follow the language.


When I get some more time, I'd like to expand on a few of the 
topics. Any suggestions of what might be especially 
interesting/impactful are of course welcome!


Link: 
https://aspect.bildhuus.com/blog/posts/how-we-are-using-d-from-the-ground-up


" .. here is hope that the language will eventually find its way 
back to the really clean appearance that it once had .. "


/P


Re: reggae v0.10.0 - The meta build system just got better

2023-09-21 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 20 September 2023 at 21:19:22 UTC, Atila Neves 
wrote:



Then there's the language: I'd rather use D or Python.


Someone, somewhere, almost 20 years ago ...

https://forum.dlang.org/post/40bb3d47.9030...@inwind.it

In the D land, everything always changes, to never really change 
... it's really a big wheel, or better a pendulum! :-P


/Paolo


Re: LDC 1.34.0

2023-08-28 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 28 August 2023 at 02:02:07 UTC, ryuukk_ wrote:


ARM support for DMD would help making it future proof


+1




Re: Evolving the D Language

2023-07-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 7 July 2023 at 03:06:28 UTC, Walter Bright wrote:
As time moves on, the D language has to evolve as well. What do 
we do with obsolete and/or problem-causing, legacy features?


[...]


I respectfully disagree, and prefer to keep going on with the 
current deprecation and cleanup policy: Scott Meyers' DConf 2014 
keynote all the way down.


On the other side, there's no problem at all in resurrect dead 
features, when living without them proved to be a pain (I agree 
with Rikki, hex strings).


/Paolo


Re: New beginnings - looking for part-time D programming help

2023-03-24 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 24 March 2023 at 09:01:21 UTC, Sergey wrote:

On Friday, 24 March 2023 at 07:54:06 UTC, Monkyyy wrote:
On Thursday, 23 March 2023 at 16:02:46 UTC, Laeeth Isharc 
wrote:

Hi.

For those that didn't hear, I resigned from Symmetry in 
September and my last day was a couple of weeks back.


[...]


"Not hedge fund" and "scripting" doesn't seem like enough of a 
job description to me


My guess it is something related to context reconstruction :) 
When someone said something with quite limited words and 
sentences - he has a lot more context in his mind. Not always 
this context is the same for other people. Based on description 
this script could help to align the same context of 
conversation. Just guessing :)


Btw is any LLM embedding available in open source?


Sort of ... you need LLaMA 7B and to train it, but they are 
trying to have permissions to release the weights also.


https://crfm.stanford.edu/2023/03/13/alpaca.html




Re: Release: serverino - please destroy it.

2022-05-10 Thread Paolo Invernizzi via Digitalmars-d-announce

On Tuesday, 10 May 2022 at 20:41:17 UTC, Andrea Fontana wrote:

On Tuesday, 10 May 2022 at 20:13:45 UTC, Paolo Invernizzi wrote:
Sinceramente non ricordo di averlo scritto, ma alla mia eta 
... probabilmente dimentico qualcosa ... comunque piacere! E' 
bello vedere altri italiani apprezzare questo magnifico 
linguaggio!


(Frankly speaking, I don't remember to have written that, but 
hey, I'm getting old ... probably  I'm forgetting something 
... anyway nice to meet you! It's great to see Italians here 
enjoying this great programming language!)


I wonder if you're making a fool of me. Or maybe it's me who is 
getting old.
I'm pretty sure that there's a user here with a really Italian 
name who was born somewhere in South America.


Andrea


Here I am ... Milanese: https://www.deepglance.com/about

/Paolo




Re: Release: serverino - please destroy it.

2022-05-10 Thread Paolo Invernizzi via Digitalmars-d-announce

On Tuesday, 10 May 2022 at 19:55:32 UTC, Andrea Fontana wrote:

On Tuesday, 10 May 2022 at 19:50:08 UTC, Paolo Invernizzi wrote:


Concordo ... (I agree!)

:-P


Wait, you have always said you're not Italian. Have you changed 
your mind?


Andrea


Sinceramente non ricordo di averlo scritto, ma alla mia eta ... 
probabilmente dimentico qualcosa ... comunque piacere! E' bello 
vedere altri italiani apprezzare questo magnifico linguaggio!


(Frankly speaking, I don't remember to have written that, but 
hey, I'm getting old ... probably  I'm forgetting something ... 
anyway nice to meet you! It's great to see Italians here enjoying 
this great programming language!)




Re: Release: serverino - please destroy it.

2022-05-10 Thread Paolo Invernizzi via Digitalmars-d-announce

On Tuesday, 10 May 2022 at 16:05:11 UTC, Andrea Fontana wrote:
On Tuesday, 10 May 2022 at 15:35:35 UTC, Ola Fosheim Grøstad 
wrote:

On Tuesday, 10 May 2022 at 15:27:48 UTC, Andrea Fontana wrote:
Indeed the "-ino" suffix in "serverino" stands for "small" in 
italian. :)


Bambino > bambinello? So, the embedded-version could be 
«serverinello»? :O)


Oh, italian is full of suffixes. -ello means a slightly 
different thing. It's small but sounds like a bit pejorative.


-ino in bambino is not (anymore) a suffix, anyway.


Andrea


Concordo ... (I agree!)

:-P


Re: D Language Foundation Monthly Meeting for February 2022

2022-03-04 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 4 March 2022 at 07:10:05 UTC, Mike Parker wrote:

On Friday, 4 March 2022 at 06:00:06 UTC, Arun wrote:



Just curious if we looked at GitLab as an alternative to both 
GitHub and Bugzilla.


We're happy on GitHub and have no plans to move to GitLab.


Quoting Vladimir, "On the other hand with Bugzilla we are fully 
in control and own our data, which allows doing a few things not 
possible with GitHub".


GitLab il free software, available and installable on a private 
server, like Bugzilla, so both the chicken and the eggs.


But I fully understand that a migration to GilHub is just fine 
right now.


Re: Teaching D at a Russian University

2022-02-20 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 20 February 2022 at 04:38:46 UTC, matheus wrote:

On Sunday, 20 February 2022 at 03:44:42 UTC, Paul Backus wrote:
Yes, this is a perfectly correct use of "for" as a 
coordinating conjunction. [1] It may come across as a bit 
formal or old-fashioned, though—in normal speech, you'd 
usually use "since".


[1] https://writing.wisc.edu/handbook/grammarpunct/coordconj/


Interesting, since English is not my first language, if in that 
sentence instead of "for" there was the word "since", I 
wouldn't have been bothered, but since it was the first time I 
saw the usage of "for" in that way, I found awkward.


After that I even look into a translator which gave the same 
translation with "since" and "for" in that sentence.


Well living and learning. :)

Matheus.


And this is 'Chaos' for us, poor ESL people ...

http://ncf.idallen.com/english.html

:-P







Re: DIP 1038--"@mustUse" (formerly "@noDiscard")--Accepted

2022-02-06 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 February 2022 at 15:17:35 UTC, Paul Backus wrote:
On Sunday, 6 February 2022 at 14:44:40 UTC, Ola Fosheim Grøstad 
wrote:

On Sunday, 6 February 2022 at 13:33:53 UTC, Paul Backus wrote:


@mustUse is a user-defined attribute, and the official style 
guide says that names of UDAs should be camelCased:


It is kinda confusing to call it a user-defined attribute if 
it is recognized by the compiler.


Compiler-recognized UDAs are an established feature of D. See 
[`core.attribute`][1] for more examples.


I dislike the camel case as well, and the name is less clear 
than "nodiscard" in my opinion.


I suppose you'll have to take that up with Walter, since he's 
the one who vetoed "nodiscard".


To be honest, though, I can see where he's coming from. When 
writing DIP 1038, I made a conscious effort to avoid using the 
term "non-`@nodiscard`", due to the double negative. With a 
positively-phrased name like `@mustUse`, that problem 
disappears.


[1]: https://druntime.dpldocs.info/core.attribute.html


@hold (or @held) ? donwannaopenacanofworms ... my last post 
really :-P


(btw, It's a great companion for sumtype! thank you again!)






Re: DIP 1038--"@mustUse" (formerly "@noDiscard")--Accepted

2022-02-06 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 February 2022 at 14:56:42 UTC, Paul Backus wrote:
On Sunday, 6 February 2022 at 14:32:31 UTC, Paolo Invernizzi 
wrote:
While I like a lot and welcome the addition of this attribute 
(so thank you!), I humbly  ask to reconsider using   the full 
lowercase alternative instead of camel case.


Let's conform with the other built-in attributes listed into 
the specs of the language, avoiding what would be another 
special case to remember.


There is precedent for compiler-recognized UDAs using camelCase 
in core.attribute.gnuAbiTag [1], as well as the various 
LDC-specific attributes [2]. So no matter what I choose here, 
it will be inconsistent with something.


If you strongly prefer the lower-case version, you can always 
rename it in your own code:


import core.attribute: mustuse = mustUse;

@mustuse struct MyStruct
{
// ...
}

[1]: https://druntime.dpldocs.info/core.attribute.gnuAbiTag.html
[2]: 
https://wiki.dlang.org/LDC-specific_language_changes#Attributes


That's fine, I will not insist more, hoping not to see in the 
future it extended as a function attribute ... you know ...


int foo() @nogc @safe @mustUse etc etc ...




Re: DIP 1038--"@mustUse" (formerly "@noDiscard")--Accepted

2022-02-06 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 February 2022 at 14:00:15 UTC, Paul Backus wrote:
On Sunday, 6 February 2022 at 13:40:00 UTC, Paolo Invernizzi 
wrote:

On Sunday, 6 February 2022 at 13:33:53 UTC, Paul Backus wrote:


@mustUse is a user-defined attribute, and the official style 
guide says that names of UDAs should be camelCased:


https://dlang.org/dstyle.html#naming_udas


... This matches conventions of the built in attributes like 
@safe,  __@nogc__  ...


Presumably this is referring to the part about the first letter 
being lower-case, since the built-in attributes are quite 
obviously not camelCased.


While I like a lot and welcome the addition of this attribute (so 
thank you!), I humbly  ask to reconsider using   the full 
lowercase alternative instead of camel case.


Let's conform with the other built-in attributes listed into the 
specs of the language, avoiding what would be another special 
case to remember.





Re: DIP 1038--"@mustUse" (formerly "@noDiscard")--Accepted

2022-02-06 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 February 2022 at 13:33:53 UTC, Paul Backus wrote:

On Sunday, 6 February 2022 at 10:55:20 UTC, Daniel N wrote:


Guess I'm way too late, I just find it very strange you 
settled on mixedCase, it's not used for anything else. 
(nothrow @nogc). I also don't agree with the motivation that 
@use is hard to search for because @ is an unusual symbol.


@mustUse is a user-defined attribute, and the official style 
guide says that names of UDAs should be camelCased:


https://dlang.org/dstyle.html#naming_udas

"Hard to search for" in this context means "hard to Google 
for", not "hard to grep for". Search engines tend to ignore 
symbols like @.


... This matches conventions of the built in attributes like 
@safe,  __@nogc__  ...





Re: Please Congratulate My New Assistant

2021-01-19 Thread Paolo Invernizzi via Digitalmars-d-announce

On Tuesday, 19 January 2021 at 00:12:49 UTC, Max Haughton wrote:

The second category is a bit looser, as there are some things 
I'd like to do that come under the community relations remit 
that aren't as structured - e.g. I am very interested in 
getting a proper working group together to try and iterate 
through designs properly rather than incremental DIPs.


That would be great!


Re: Release Candidate [was: Re: Beta 2.095.0]

2020-12-30 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 30 December 2020 at 14:43:53 UTC, Mathias LANG 
wrote:
On Wednesday, 30 December 2020 at 14:23:39 UTC, Paolo 
Invernizzi wrote:
On Wednesday, 30 December 2020 at 10:51:38 UTC, Martin Nowak 
wrote:
On Sunday, 20 December 2020 at 13:21:46 UTC, Martin Nowak 
wrote:
Glad to announce the first beta for the 2.095.0 release, ♥ 
to the 61 contributors.


The release candidate for 2.095.0 is live now.


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

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

-Martin


Thank you Mathias for commit 5f701dc!


Unfortunately it doesn't fix the exact case you found, it was a 
byproduct of working on your test case. And I don't think I'll 
have time to get to it before the release (which is scheduled 
January 1st).


Don't worry, I've just tried a fast build and it seems far better 
than before!


Re: Release Candidate [was: Re: Beta 2.095.0]

2020-12-30 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 30 December 2020 at 10:51:38 UTC, Martin Nowak 
wrote:

On Sunday, 20 December 2020 at 13:21:46 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.095.0 release, ♥ to 
the 61 contributors.


The release candidate for 2.095.0 is live now.


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

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

-Martin


Thank you Mathias for commit 5f701dc!


Re: Beta 2.095.0

2020-12-29 Thread Paolo Invernizzi via Digitalmars-d-announce
On Tuesday, 29 December 2020 at 10:48:55 UTC, Paolo Invernizzi 
wrote:
On Thursday, 24 December 2020 at 23:14:16 UTC, Mathias LANG 
wrote:

[...]


Mathias, reduced test case below (dustmined), thank you!

[...]


Manually reduced to:
---
import std.typecons : Nullable;
import std.array : array;

class PGResultSet
{
bool empty = true;
void popFront() {}

Foo front;
}

struct Foo {
Nullable!long sessionStartedAtMs;
}

void foo() {
auto rset = new PGResultSet;
rset.array;
}
---


Re: Beta 2.095.0

2020-12-29 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 24 December 2020 at 23:14:16 UTC, Mathias LANG wrote:
On Thursday, 24 December 2020 at 21:59:31 UTC, Paolo Invernizzi 
wrote:


My point is that the result without -de is

[...]

Which unfortunately is pretty useless in my case ...


Could you point me towards the code that triggers this ?


Mathias, reduced test case below (dustmined), thank you!


---
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/dmd -c -o- 
-J/Users/pinver/Lembas -vcolumns -color=on -Isrc -debug -unittest 
/Users/pinver/Tmp/dustmite/testing.reduced/src/fieldmanager.d || 
true <


/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/traits.d(3727,61):
 Deprecation: function std.typecons.Nullable!long.Nullable.get_ is deprecated - 
Implicit conversion with alias Nullable.get this will be removed after 2.096. 
Please use .get explicitly.
---
import std.typecons : Nullable;
import std.array : array;

struct DBRow(Specs...)
{
alias Specs[] T;
T base;
}


class PGConnection
{
PGResultSet!Specs executeQuery(Specs)(string )
{
scope cmd = new PGCommand(this);
return cmd.executeQuery!Specs;
}

auto pgCommand(string ) {
return new PGCommand(this);
}
}


class PGCommand
{
PGConnection conn;
string preparedName;
this(PGConnection ){
}


PGResultSet!Specs executeQuery(Specs)()
{
return conn.executeQuery!Specs(preparedName);
}

}

class PGResultSet(Specs)
{
alias DBRow!Specs Row;
bool empty = true;


void popFront()
{
}

Row front()
{ return Row.init;
}

}

void importPanoptesFixations(short legId, DbModel dbModel)
{
queryAsArray(dbModel.conn, legId);
}

struct DbModel
{
PGConnection conn;
}

struct Foo {
Nullable!long sessionStartedAtMs;
}

auto queryAsArray(Conn)(Conn conn, short ) {
auto comm = conn.pgCommand(`select * from foo`);
auto rset = comm.executeQuery!Foo;
rset.array;
}
---




Re: Beta 2.095.0

2020-12-24 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 24 December 2020 at 18:05:30 UTC, Mathias LANG wrote:
On Thursday, 24 December 2020 at 11:38:11 UTC, Paolo Invernizzi 
wrote:


The point is that the deprecation is coming from an external 
library, it would be great to have the precise instantiation 
point in that source code, so I was wondering if that dmd 
improvement [1] should print a more detailed trace.


[1] 
https://dlang.org/changelog/2.095.0.html#deprecation-context


It does print a detailed stack trace (up to the first symbol 
that is not a template) if you don't use `-de`. If you use 
`-de`, since the checks in Phobos are 
`is(typeof(n.toString()))` or `__traits(compiles, 
n.toString())`, then it just changes whether or not the code 
compiles, and as a result changes the output of the program. A 
trivial example:


```
import std.stdio, std.typecons;
struct Foo {
deprecated string toString() const { return "Oops"; }
}
void main () { writefln("%s", Foo.init); }
```

Will print, with v2.094.2 or before (dmd -run):
```
/usr/local/opt/dmd/include/dlang/dmd/std/format.d(3921): 
Deprecation: function foo.Foo.toString is deprecated
/usr/local/opt/dmd/include/dlang/dmd/std/format.d(4053): 
Deprecation: function foo.Foo.toString is deprecated

Oops
```

Not great. If you use `dmd -de -run`, you'll get:
```
Foo()
```

Notice the deprecations are gone, but so is the usage of the 
`toString` method. Using DMD v2.095.0-beta.1 with `-de` should 
give you the same output, but without `-de`:


```
% ~/dlang/dmd-2.095.0-beta.1/osx/bin/dmd -run foo.d
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/format.d(3921):
 Deprecation: function foo.Foo.toString is deprecated
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/format.d(4420):
instantiated from here: hasToString!(Foo, char)
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/format.d(4053):
 Deprecation: function foo.Foo.toString is deprecated
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/format.d(4430):
instantiated from here: formatObject!(LockingTextWriter, Foo, char)
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/format.d(1875):
instantiated from here: formatValueImpl!(LockingTextWriter, Foo, char)
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/format.d(576):
instantiated from here: formatValue!(LockingTextWriter, Foo, char)
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/stdio.d(1661):
... (1 instantiations, -v to show) ...
/Users/geod24/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/stdio.d(4271):
instantiated from here: writefln!(char, Foo)
foo.d(5):instantiated from here: writefln!(char, Foo)
Oops
```

So the feature works as intended, however `-de` is a dangerous 
trap, as it changes what is instantiated.


Thanks Matias,

My point is that the result without -de is
---
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/dmd  -i -g -debug  
src/foo.d

/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/traits.d(3727):
 Deprecation: function std.typecons.Nullable!long.Nullable.get_ is deprecated - 
Implicit conversion with alias Nullable.get this will be removed after 2.096. 
Please use .get explicitly.
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/traits.d(3727):
 Deprecation: function std.typecons.Nullable!short.Nullable.get_ is deprecated 
- Implicit conversion with alias Nullable.get this will be removed after 2.096. 
Please use .get explicitly.
---

Which unfortunately is pretty useless in my case ...



Re: Beta 2.095.0

2020-12-24 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 24 December 2020 at 11:05:14 UTC, Mathias LANG wrote:
On Wednesday, 23 December 2020 at 15:38:17 UTC, Steven 
Schveighoffer wrote:


What is happening is that some speculative compilation is 
checking something via the get function. It might not make a 
difference, but the error message is useless (who knows where 
that traits call is triggered).


FYI, v2.095.0 *should* print the instantiation trace, so you 
can actually track down where it comes from. And the reason DMD 
now shows the trace is exactly because of this deprecation.


The point is that the deprecation is coming from an external 
library, it would be great to have the precise instantiation 
point in that source code, so I was wondering if that dmd 
improvement [1] should print a more detailed trace.


[1] https://dlang.org/changelog/2.095.0.html#deprecation-context



Re: Printing shortest decimal form of floating point number with Mir

2020-12-23 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 23 December 2020 at 18:05:40 UTC, 9il wrote:
On Wednesday, 23 December 2020 at 17:22:28 UTC, Ola Fosheim 
Grøstad wrote:

On Wednesday, 23 December 2020 at 17:08:26 UTC, 9il wrote:

[...]


Yes, if something is perceived as bug it becomes a burden to 
remember that it is isn't. Not sure why anyone resist this 
improvement. Hm, he seems to be a compiler consultant now, but 
no longer interested in D?


Hi is disappeared from the Dlang after that.

Maybe the DIP should have pushed harder on what other 
languages support (might be viewed as a stronger political 
argument).


Have you read the DMD PR  thread (not the DIP itself)?

It was a mockery executed by Atila accompanied by silent 
Walter's and Andrei's ignoring.


I know Atila in person. However, it doesn't really matter if 
Atila really didn't understand the DIP reasons or it was a real 
mockery. The fact that this behavior including real or seeming 
mockery and real ignoring is a red flag for any professional 
cooperation.


Atila had been already declared as "new Andrei".

Which was noted right in the DIP to define Atila's privileges 
to make decisions.

https://github.com/dlang/dmd/pull/9778#issuecomment-498700369


[...]


I don't use tensors much, how does it help zipping?

I sometimes wonder if linalg primitives should be builtin too. 
Seems like that could allow for better compiler optimization.


Franky speaking, I don't see any mockery, but I'm not a native 
English speaker,  so I could have missed it.


Said that, if you really see value in the DIP, can I suggest to 
keep explaining your reason? I'm totally sure everybody here is 
engaged in discussion with the goal to understand. ...


my 2c


Re: Beta 2.095.0

2020-12-23 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 23 December 2020 at 15:38:17 UTC, Steven 
Schveighoffer wrote:

On 12/23/20 9:42 AM, Paolo Invernizzi wrote:

[...]


So, this is a constant problem since this deprecation was 
introduced.


[...]


Thanks Steve, as usual, a perfect explanation ...



Re: Beta 2.095.0

2020-12-23 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 23 December 2020 at 14:41:05 UTC, Paolo Invernizzi 
wrote:
BTW, turning the deprecations from warnings to errors seems not 
to work (nothing is printed)

---
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/dmd  -i -g 
-debug  src/foo.d

---

Thank you for your job!


sorry, I mean: 
`/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/dmd  -de -i -g  
-debug  src/foo.d`


Re: Beta 2.095.0

2020-12-23 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 20 December 2020 at 13:21:46 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.095.0 release, ♥ to 
the 61 contributors.


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

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

-Martin


Thank you Martin,

Just  to be sure, is that expected behaviour? Or should I expect 
to have the a more precise instantiation point?

---
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/dmd  -i -g -debug  
src/foo.d

/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/traits.d(3727):
 Deprecation: function std.typecons.Nullable!long.Nullable.get_ is deprecated - 
Implicit conversion with alias Nullable.get this will be removed after 2.096. 
Please use .get explicitly.
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/../../src/phobos/std/traits.d(3727):
 Deprecation: function std.typecons.Nullable!short.Nullable.get_ is deprecated 
- Implicit conversion with alias Nullable.get this will be removed after 2.096. 
Please use .get explicitly.
---

BTW, turning the deprecations from warnings to errors seems not 
to work (nothing is printed)

---
/Users/pinver/dlang/dmd-2.095.0-beta.1/osx/bin/dmd  -i -g -debug  
src/foo.d

---

Thank you for your job!


Re: Visual D 1.0.0 released

2020-07-10 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 10 July 2020 at 07:32:42 UTC, Jacob Carlborg wrote:

Yeah, VisualD has a huge advantage since it's now using the DMD 
frontend for these things. For example, DCD does not support 
UFCS, which is really annoying.


That is the most annoying thing for sure: It would be great to 
have the semantic engine of visual-d exposed via a language 
server ...


/P


Re: DIP1028 - Rationale for accepting as is

2020-05-24 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 24 May 2020 at 05:43:45 UTC, Timon Gehr wrote:

@safe is advertised to give mechanical guarantees, where 
@trusted is a way for programmers to take responsibility for 
parts of the code. It is not advertised to be an unsound linter 
with pseudo-pragmatic trade-offs and implicit false negatives.


And turns back to my previous question, that Walter (or Atila) 
never replied: what I need to reply back to customers asking us 
about @safe.


@safe is for mechanical check or not?

An official and public declaration please.

/P




Re: DIP1028 - Rationale for accepting as is

2020-05-23 Thread Paolo Invernizzi via Digitalmars-d-announce

On Saturday, 23 May 2020 at 10:55:40 UTC, Dukc wrote:

When I look my own code that uses the Nuklear GUI library, 
written in C, it's all `@system`. I have not had the time to 
make `@trusted` wrappers over the BindBC-nuklear API, so I did 
what tends to occur to us as the next best thing: resign and 
make the whole client code `@system`.


I really don't understand, there's no "maybe" memory safety: if 
there's no time to spend for memory safety in a project, why care?


Just making `@trusted` wrappers over BindBC-nuklear seemed to 
me as inresponsible use of the attribute. And reading this 
theard, it would seem like most of you would agree.


I disagree: if you *really* want to use @safe in the rest of the 
codebase, just mark the binding as trusted, raising your hand 
towards reviewers (or everybody is interested in checking the 
memory safety of the project codebase), writing in the comment 
that "you" have decided to spend no time in a proper wrapping, 
and the motivations.


Let the reviewers and the other guys out there just decide what 
to do with your codebase.


But when I think it, what I have accomplised from avoiding that 
antipattern? The only difference is, that if my D code does 
something `@system`, it'll remain under the radar. So I'm worse 
off than had I submitted to the antipattern!


It's not an anti pattern, it clearly show your motivation, that's 
all about @trusted. May also write a big *disclaimer* in the 
README pointing to the pitfalls







Re: DIP1028 - Rationale for accepting as is

2020-05-22 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 22 May 2020 at 17:54:26 UTC, Atila Neves wrote:

On Friday, 22 May 2020 at 17:41:38 UTC, Steven Schveighoffer


And so, you are free to pepper your @safe code with dangling 
pointers. Sure, you can claim that the C++ library didn't 
"corrupt your code", which is the case for ALL libraries if 
you use them properly. You did it, you created a dangling 
pointer, not the library.


Right. And the point I was trying to make wasn't "look at what 
I did, it's cool". No, what I did was dumb. So dumb it took you 
no time at all to point out one of my mistakes. My point is 
that the result of making declarations implicity @system 
instead of @safe would make people just slap @safe on them 
without really thinking about it to get their code to compile. 
Like I did.


So force people to slap @trusted instead, via compiler complains, 
not @safe, and reviewers will catch the laziness: why this is 
worst that what you picture?


Re: DIP1028 - Rationale for accepting as is

2020-05-22 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 22 May 2020 at 17:07:37 UTC, Atila Neves wrote:

And so I was convinced that everything being @safe is actually 
ok, especially because in real life, most C/C++ APIs aren't 
going to secretly corrupt your code.


Uh? There's plenty of C/C++ code out there with api that when 
"used in the wrong way" will corrupt memory.


That's the _essence_ of @trusted code, the _programmer_ need to 
_correctly_ handle the usage, because the compiler can't do that 
job alone.





Re: DIP1028 - Rationale for accepting as is

2020-05-22 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 22 May 2020 at 01:22:19 UTC, Walter Bright wrote:

I have made these points before, but I'll summarize them here
for convenient referral.

[...]


Thank's for the reasoning, that should be added to the DIP 
acceptance since the beginning.


Stated that we need to live with that, I'm asking you a simple 
question:
What's the "official" definition of the @safe advantages that D 
offers as a language?


Sometime we need to explain that to customers asking for details 
about the code we wrote for them.


I would love to have a good insight detailing the promises that 
the language is committed to hold, maybe trying to give me a 
vision on the future ... since from now on I will stop using 
"mechanical verification" at all as selling argument.


Re: DLS deprecation

2020-04-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Tuesday, 7 April 2020 at 19:12:49 UTC, Laurent Tréguier wrote:
I started working on this project to make it more comfortable 
to write D back in 2017, published a VSCode extension a couple 
months later, and continued working on it throughout 2018. In 
2019 however, I slowed down, and eventually, stopped working on 
it.


It was fun, and kept me well occupied for quite some time; but 
I have been working on something else since April of last year, 
and since I don't have any use for D in it, I am not taking 
time to do anything with DLS.


So today, I am deprecating DLS, along with its editor 
extensions. If anyone was using them, be advised that they will 
not have any update or support from now on.


Webfreak is still working on code-d/serve-d from what I gather, 
so hopefully, the handful of people who could be using DLS on 
VSCode can use it instead.


*sigh*

So Long, and Thanks for All the Fish, Laurent!


Re: DConf 2020 Canceled

2020-03-08 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 8 March 2020 at 03:56:35 UTC, Era Scarecrow wrote:

 From what i've researched, it's more or less the flu... a 
somewhat more contagious, over-hyped, genetically modified, 
potentially respiratory infection cold/flu; And likely a tool 
by government(s) to force unwanted policies down our throats 
like Martial Law, restriction of travel, Mandatory Vaccines 
and/or micro-chipping. As well as the government had it since 
2015 in certain labs thus more than likely there's already a 
vaccine.


I'm writing this note from Italy, and specifically from Milano, 
and I've only one request: please stop.


Let's stay talking only about the marvellous D language.


Re: DIP 1027---String Interpolation---Format Assessment

2020-02-27 Thread Paolo Invernizzi via Digitalmars-d-announce
On Thursday, 27 February 2020 at 09:30:30 UTC, Walter Bright 
wrote:

On 2/27/2020 12:27 AM, Petar Kirov [ZombineDev] wrote:
I'm well aware that allocation is inevitable if we want this 
behavior. My argument is that this behavior is so ubiquitous 
that not following it would be surprising to much more people, 
than if D didn't follow C's Usual Arithmetic Conversions 
rules. For example, Rust not following those conversion rules 
is considered a good thing,


Rust does not follow C syntax at all, so nobody will reasonably 
expect it to have C semantics. D does follow it, it's a 
feature, so people will have expectations.


As shown, string interpolation in other languages (not only 
'stript', as you wrote) has a so well established way of 
performing it that everybody will reasonably expect D to behave 
the same.


Said that, better having no string interpolation at all in D, if 
the introduced feature is not at least comparable with the 
solution that the others out there are using: no surprise 
behaviour, please!


and there it is. But having it generate a GC allocated string 
is not so easy to unwind, i.e. it'll be useless with printf and 
generate unacceptable garbage with writefln. The extra string 
will always make it slow. Essentially, it'll be crippled. 
Making D behave like a scripting language will yield scripting 
performance.


It seems that the other compiled languages doing it in that way 
have raised no concerns at all on the above matters






Re: dud: A dub replacement

2019-11-21 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 20 November 2019 at 16:29:20 UTC, Rumbu wrote:


When a function signature looks like this

ElementEncodingType!(ElementType!RoR)[] join(RoR, R)(RoR ror, 
scope R sep)
if (isInputRange!RoR && isInputRange!(Unqual!(ElementType!RoR)) 
&& isInputRange!R && is(Unqual!(ElementType!(ElementType!RoR)) 
== Unqual!(ElementType!R)))


or like this:

E[] replaceFirst(E, R1, R2)(E[] subject, R1 from, R2 to)
if (isDynamicArray!(E[]) && isForwardRange!R1 && 
is(typeof(appender!(E[])().put(from[0..1]))) && 
isForwardRange!R2 && 
is(typeof(appender!(E[])().put(to[0..1];


it's understandable why documentation is mandatory.


That's true, Rumbu!

And despite that, it's always marvel me the fact that I can 
simply read the above and actually "understand it"!


It's some kind of magic, but maybe it's simply why I'm forced to 
read too much C++ recently...  :-P


PS ... the most difficult part for a beginner maybe is the 
historical "is(typeof( ... bla bla ...)"


Re: dud: A dub replacement

2019-11-18 Thread Paolo Invernizzi via Digitalmars-d-announce
On Monday, 18 November 2019 at 15:35:12 UTC, Joseph Rushton 
Wakeling wrote:
On Monday, 18 November 2019 at 13:19:12 UTC, Paolo Invernizzi 
wrote:
Closing this kind of discussions and letting anyone to choose 
"tabs or spaces" is a constructive solution, I think.


It is quite extraordinary how readily folks fall to arguing 
over what the config format should be, rather than what the app 
should actually be able to do. :-\


Exactly, that's why I love pragmatism: let's dud emit the ones 
that are outdated, automatically.


Everyone can choose, work and update or the format he prefers, 
without impacting other people choices, and the discussion can 
move forward to something more interesting ...


my 2 cents, at least ...


Re: dud: A dub replacement

2019-11-18 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 18 November 2019 at 10:44:18 UTC, Russel Winder wrote:
On Mon, 2019-11-18 at 09:53 +, Paolo Invernizzi via 
Digitalmars-d-announce

wrote:
[…]
A win-win move would be to have dud emit the other formats 
automatically as part of the compilation procedure, so to have 
always all of them present and synced on the content.


Why? In fact, why even think of doing this at all?

There should be one and only one human written configuration 
file for a build and it should be in a notation suitable for 
being written by humans.


It shouldn't be too much difficult, and maybe it's a cleaver 
way to move on from discussions about different formats.


Again why? It seems like a pointless overhead that achieves 
nothing constructive.


Closing this kind of discussions and letting anyone to choose 
"tabs or spaces" is a constructive solution, I think.


That's the whole point of a win-win solution, anyone has a gain, 
the JSON party and the SDL party.


But, hey, as someone has to implement that, feel free to simply 
ignore my opinion ...





Re: dud: A dub replacement

2019-11-18 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 18 November 2019 at 09:42:16 UTC, Russel Winder wrote:
On Mon, 2019-11-18 at 09:31 +, Sebastiaan Koppe via 
Digitalmars-d-announce wrote:
On Monday, 18 November 2019 at 08:57:58 UTC, Russel Winder 
wrote:

> Is SDL the right format? Cargo uses TOML to great effect.
> 
> And TOML has, I suspect greater traction more widely than 
> SDL.


I personally prefer SDL when it comes to nested data, but 
yeah, that would work as well.


The point I was making is to just have 1 format. With dud that 
should be possible.


For me the argument is that SDL and TOML are intended for 
human's to write configuration scripts, whilst XML and JSON are 
intended for computers to send data to other computers.


A win-win move would be to have dud emit the other formats 
automatically as part of the compilation procedure, so to have 
always all of them present and synced on the content.


It shouldn't be too much difficult, and maybe it's a cleaver way 
to move on from discussions about different formats.


Re: Blog series to teach and show off D's metaprogramming by creating a JSON serialiser

2019-10-31 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 31 October 2019 at 09:07:18 UTC, GreatSam4sure wrote:
On Thursday, 31 October 2019 at 09:02:07 UTC, Paolo Invernizzi 
wrote:
On Thursday, 31 October 2019 at 00:05:06 UTC, SealabJaster 
wrote:

https://bradley.chatha.dev/Home/Blog?post=JsonSerialiser1

Currently only the first post is out, as I'd like to collect 
feedback before writing any more.


[...]


Great Job, keep pushing!

If you don't know it, I suggest to have a look to the 
venerable Philippe Sigaud "D Template Tutorial" for 
inspiration [1]. It was by far the most complete and 
comprensive tutorial covering every aspect of the D Template 
programming.


It would be great to have also an updated version of it ...

[1] https://github.com/PhilippeSigaud/D-templates-tutorial



The tutorial you referred to is very comprehensive but i am 
confess is hard to understand. I have read it twice but i did 
not understand. It might be my fault but i will prefer a simple 
start with the newbie in mind


I agree with you, a simple start is valuable, so I think it's 
good to have someone who is covering that, so thanks!


On the other side, I'm missing an updated version of a "advanced" 
tutorial, mainly because, as you have noticed, advanced template 
programming is not so easy to learn!


Thanks for your job!


Re: Blog series to teach and show off D's metaprogramming by creating a JSON serialiser

2019-10-31 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 31 October 2019 at 00:05:06 UTC, SealabJaster wrote:

https://bradley.chatha.dev/Home/Blog?post=JsonSerialiser1

Currently only the first post is out, as I'd like to collect 
feedback before writing any more.


[...]


Great Job, keep pushing!

If you don't know it, I suggest to have a look to the venerable 
Philippe Sigaud "D Template Tutorial" for inspiration [1]. It was 
by far the most complete and comprensive tutorial covering every 
aspect of the D Template programming.


It would be great to have also an updated version of it ...

[1] https://github.com/PhilippeSigaud/D-templates-tutorial


Re: Blog Post: Beating std::visit Without Really Trying

2019-10-16 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 16 October 2019 at 15:01:17 UTC, Atila Neves wrote:

Please take a look at the cited pull request: it's a *trivial* 
Phobos patch, that can be added aside to the current 
implementation, blocked for months waiting for a _political_ 
decision.


I don't think it's political: the change implies breakage for 
downstream users who inherit from the class who might not even 
care about @nogc.


The proposed solution is to "add" a new @nogc method, with the 
correct signature, so that if someone want to write application 
and care about @nogc and @safe can rely on the D standard library 
being complaint to that.


What's the problem with that, if not a _political_ one? We have a 
"wrong" signature, we don't break anything, but we add "correct" 
signature. That's what already was done in Mutex with 
lock_nothrow, but it's seen as "annoying to have to define/use 
alternate names for all the methods, though"


This a technical point. The easiest way out in my opinion is to 
to inherit from it yourself and mark `receive` @nogc, as was 
suggested in the PR.


That's can't be done without a cast, so we need to rely on 
trusted, and we go again to the starting point, as stated the 
pull request.


It's simply embarrassing to explain to an external reviewer 
that a standard library method signature is inaccurate after 
88 releases of version 2 of the language. And that yes, 
'assumeNoGC' is needed, 'trust' that, and yes, an issue was 
filed along with a potential fix.


Indeed. We're hardly alone in this: std::auto_ptr was/is an 
embarassment in C++. Then there's std::vector...


And that's why I'm throwing a stone in the water: what's the 
'concrete' procedures that the gatekeepers have in mind to 
improve Phobos quality for cases like that?


Atila, that's really a _little_ change, if that can't be handled 
easily, what about handling _big_ changes?





Re: Blog Post: Beating std::visit Without Really Trying

2019-10-16 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 16 October 2019 at 10:56:40 UTC, Atila Neves wrote:
On Saturday, 12 October 2019 at 03:10:29 UTC, Walter Bright 
wrote:

On 10/7/2019 12:37 AM, Paolo Invernizzi wrote:
- adding another method to a class, marked @nogc, and (maybe) 
deprecating the previous method is seen as 'annoying', also 
if it's a _clear_ improvement over the actual situation (you 
can write _better_ code with that in place compared to the 
actual situation, I mean)


@nogc doesn't actually enable writing better code. It doesn't 
change the generated code at all.



I'm on the same boat with you, regarding what you wrote, but 
... I still don't understand the number printed on the bar 
level.


Atila is in charge of this, and he is because he's shown 
excellent judgement about these matters over the years.


I think that I need to ruminate on Phobos v2.

In the meanwhile, a much easier and shorter route to improving 
the D library ecosystem is to put something up on 
code.dlang.org, which requires no gatekeeping.


While I agree on the ecosystem, the problem of keeping the actual 
Phobos modules in a good shape still apply.


Please take a look at the cited pull request: it's a *trivial* 
Phobos patch, that can be added aside to the current 
implementation, blocked for months waiting for a _political_ 
decision.


I understand that "there's always something else better for the 
language to do", but Phobos is the current "home sweet home" for 
everyone approaching D, and it's the first library inspected in 
details.


It's simply embarrassing to explain to an external reviewer that 
a standard library method signature is inaccurate after 88 
releases of version 2 of the language. And that yes, 'assumeNoGC' 
is needed, 'trust' that, and yes, an issue was filed along with a 
potential fix.


I've full faith in your and Walter judgement, of course.



Re: Blog Post: Beating std::visit Without Really Trying

2019-10-14 Thread Paolo Invernizzi via Digitalmars-d-announce

On Saturday, 12 October 2019 at 03:10:29 UTC, Walter Bright wrote:

On 10/7/2019 12:37 AM, Paolo Invernizzi wrote:
- adding another method to a class, marked @nogc, and (maybe) 
deprecating the previous method is seen as 'annoying', also if 
it's a _clear_ improvement over the actual situation (you can 
write _better_ code with that in place compared to the actual 
situation, I mean)


@nogc doesn't actually enable writing better code. It doesn't 
change the generated code at all.


I meant, writing better _source_ code, especially for reviewers.

I'm on the same boat with you, regarding what you wrote, but 
... I still don't understand the number printed on the bar 
level.


Atila is in charge of this, and he is because he's shown 
excellent judgement about these matters over the years.


I'm faithful for Atila judgement, and at the same time I've 
always liked also your pragmatism. Anyway, I'll sit waiting for a 
policy decision on cases similar to the one mentioned.







Re: Blog Post: Beating std::visit Without Really Trying

2019-10-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 October 2019 at 19:58:04 UTC, Walter Bright wrote:

On 10/6/2019 2:59 AM, Paolo Invernizzi wrote:
Well, so there's hope that _very little_ improvements will be 
merged, in a way or another? I mean, there's some sort of 
policy for things like that:


    https://github.com/dlang/phobos/pull/6730

Frankly speaking, the actual situation it's a little 
discouraging...


We want a much higher bar for merging things than historically. 
A smaller, higher quality library is preferable to a kitchen 
sink library.


The pull request I've shown is pretty simple:

- std.socket is ... well... not the best piece of code out there
- the `receive` method is usually in the _hot_ code path
- it's not marked @nogc, and actually it does not allocate

So:

- adding @nogc will break derived classes that redefines the 
method (I still regret that the language was not shifted towards 
"final by default", years ago, as clearly that would be a *great* 
mitigation over that kind of problems)


- adding another method to a class, marked @nogc, and (maybe) 
deprecating the previous method is seen as 'annoying', also if 
it's a _clear_ improvement over the actual situation (you can 
write _better_ code with that in place compared to the actual 
situation, I mean)


I'm on the same boat with you, regarding what you wrote, but ... 
I still don't understand the number printed on the bar level.


There's a number of recurring patterns of simple things to fix 
like the one above, with the same kind of problem to address. I 
humbly suggest the core team to just forge a general recipe for 
some of them, and stick with it, so that the number of the bar is 
less blurred. That scales, and encourage contribution.


So, what do you think about starting a first one bases on cases 
similar to the above?












Re: Blog Post: Beating std::visit Without Really Trying

2019-10-06 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 6 October 2019 at 02:33:15 UTC, Walter Bright wrote:

On 10/5/2019 6:58 AM, Seb wrote:

Phobos is essentially dead/frozen (feature-wise).

I beg to disagree. A couple cases in point:

https://github.com/dlang/phobos/pull/7211

which is a re-imagining, rethinking of hexString.

and:

https://github.com/dlang/phobos/pull/7130
https://github.com/dlang/phobos/pull/7144

both of which work to remove autodecode from Phobos. 7130 in 
particular can use some help with anyone who wants to help 
drive this forward.


Well, so there's hope that _very little_ improvements will be 
merged, in a way or another? I mean, there's some sort of policy 
for things like that:


   https://github.com/dlang/phobos/pull/6730

Frankly speaking, the actual situation it's a little 
discouraging...


Re: Beta 2.088.0

2019-08-17 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 16 August 2019 at 11:47:23 UTC, Suliman wrote:

On Friday, 16 August 2019 at 11:04:07 UTC, Martin Nowak wrote:
Glad to announce the first beta for the 2.088.0 release, ♥ to 
the 58 contributors.


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


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

-Martin


New releases become more and more strange.
30% of deprecation
30% removing futures


Finally evolution, that's means that weak features need to die, 
to open living space for better features.


There's no evolution, without removing features and (breaking) 
changes.


/Paolo




Re: neomimalloc [D wrapper for mimalloc] - v0.0.3

2019-07-05 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 5 July 2019 at 12:42:22 UTC, Andrea Fontana wrote:
On Friday, 5 July 2019 at 09:57:58 UTC, Ernesto Castellotti 
wrote:
I am happy to announce the first preliminary version of 
neomimalloc!



And I'm happy Dlang is spreading in Italy too!


Yay!

Paolo



Re: Revisions to the DIP Process

2019-06-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 7 June 2019 at 12:12:25 UTC, Mike Parker wrote:

On Friday, 7 June 2019 at 11:19:07 UTC, Paolo Invernizzi wrote:

On Friday, 7 June 2019 at 11:02:29 UTC, mate wrote:

On Friday, 7 June 2019 at 10:57:42 UTC, Mike Parker wrote:


No, the text is correct as published. See Andrei's 
announcement at the beginning of the AGM:


https://youtu.be/cpTAtiboIDs?t=3041


I've seen the AGM, but doesn't that worth a post somewhere?

/P


Yes. I'll be writing up an overview of DConf once I've finished 
uploading the videos.


That seems great!

Thanks, Mike!

/P


Re: Revisions to the DIP Process

2019-06-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 7 June 2019 at 11:02:29 UTC, mate wrote:

On Friday, 7 June 2019 at 10:57:42 UTC, Mike Parker wrote:


No, the text is correct as published. See Andrei's 
announcement at the beginning of the AGM:


https://youtu.be/cpTAtiboIDs?t=3041


I've seen the AGM, but doesn't that worth a post somewhere?

/P


Re: nogc v0.5.0 - DIP1008 works!

2019-05-27 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 27 May 2019 at 10:01:15 UTC, Atila Neves wrote:

On Monday, 27 May 2019 at 09:07:48 UTC, Paolo Invernizzi wrote:

On Monday, 27 May 2019 at 08:54:45 UTC, Atila Neves wrote:

On Friday, 24 May 2019 at 16:51:11 UTC, ag0aep6g wrote:


Then there's the fact that if a 3rd party library really does 
want to corrupt memory they can just tag all their functions 
with @trusted, and unless someone looks at their code nobody 
will be the wiser.


... and a @safe conscious programmer will not touch that 
library ever with a 5 five meters pole.


I'm still not convinced that trusted code should accept 
generic system code ... can you elaborate more?


I'm not convinced either - I'm having a dialogue to figure out 
potential issues.


:-)

My nice-try to reduce the problem is: trusted code block needs to 
by "manually verified" for safety by humans, so it should be 
"@safe pure", aka, if you can't perform the analysis looking only 
at the statements in the trusted block, that can't be marked 
trusted.





Re: nogc v0.5.0 - DIP1008 works!

2019-05-27 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 27 May 2019 at 08:54:45 UTC, Atila Neves wrote:

On Friday, 24 May 2019 at 16:51:11 UTC, ag0aep6g wrote:


Then there's the fact that if a 3rd party library really does 
want to corrupt memory they can just tag all their functions 
with @trusted, and unless someone looks at their code nobody 
will be the wiser.


... and a @safe conscious programmer will not touch that library 
ever with a 5 five meters pole.


I'm still not convinced that trusted code should accept generic 
system code ... can you elaborate more?


Thanks,
Paolo



Re: New and Unofficial OpenCV binding for D programming language

2019-04-05 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 5 April 2019 at 13:19:22 UTC, Ferhat Kurtulmuş wrote:

On Friday, 5 April 2019 at 07:56:42 UTC, Paolo Invernizzi wrote:
On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş 
wrote:

Hi folks!

D is awesome, but it is a shame that there is no any opencv 
bindings for d yet. Actually we have it now :) Although I am 
a new dlang learner, I dared to do it: 
https://github.com/aferust/opencvd. C interface was taken 
from gocv, and the implementation has been highly influenced 
by gocv (maybe it is better to make git submodule it, since 
gocv project is being updated very often?). I admit that it 
is far from being a complete binding, but it is a beginning. 
I invite you lovely and pro dlang community to grow it. I did 
not want to add it to code.dlang.org before it become a 
better binding.


Nice!

Version 3.x has an internal pointer in the mat struct, is that 
changed with 4.x?


- Paolo


It still has it, if you what you mean:

Mat Mat_FromArrayPtr(int rows, int cols, int type, void* data){
return new cv::Mat(rows, cols, type, data);
}


No, I mean that the Mat structure has a MatSize MatStep member 
with pointers to the struct data itself.


Until we have copy ctors, D can't have structures with internal 
pointers, as they can be moved... that's something similar in C++ 
string, if I remember well, and that was the blocker that leaded 
to the copy ctors DIP...


- P


Re: New and Unofficial OpenCV binding for D programming language

2019-04-05 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 4 April 2019 at 23:08:21 UTC, Ferhat Kurtulmuş wrote:

Hi folks!

D is awesome, but it is a shame that there is no any opencv 
bindings for d yet. Actually we have it now :) Although I am a 
new dlang learner, I dared to do it: 
https://github.com/aferust/opencvd. C interface was taken from 
gocv, and the implementation has been highly influenced by gocv 
(maybe it is better to make git submodule it, since gocv 
project is being updated very often?). I admit that it is far 
from being a complete binding, but it is a beginning. I invite 
you lovely and pro dlang community to grow it. I did not want 
to add it to code.dlang.org before it become a better binding.


Nice!

Version 3.x has an internal pointer in the mat struct, is that 
changed with 4.x?


- Paolo


Re: DIP 1018--The Copy Constructor--Formal Review

2019-02-25 Thread Paolo Invernizzi via Digitalmars-d-announce
On Monday, 25 February 2019 at 20:23:58 UTC, Andrei Alexandrescu 
wrote:

On 2/25/19 3:23 PM, Jacob Carlborg wrote:

On 2019-02-25 20:24, Mike Parker wrote:


 From the process document:

“the DIP Manager or the Language Maintainers may allow for 
exceptions which waive requirements or responsibilities at 
their discretion.”


Having it documented doesn't make it less flawed.


Jacob, are there amends you need to make to the DIP?


Honestly, I've not understood the rationale or the covered use 
case in letting the copy ctor mutate the ref source parameters...

Sincerely, without polemical intent.

- P


Re: DIP 1017--Add Bottom Type--Formal Assessment

2019-01-30 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 30 January 2019 at 20:50:42 UTC, Johannes Loher 
wrote:

Am 30.01.19 um 15:05 schrieb Mike Parker:
Given the nature of the feedback in both review rounds this 
DIP has gone through, Walter has decided to reject his own 
DIP. He still believes there is a benefit to adding a bottom 
type to the language, but this proposal is not the way to go 
about it. He hopes to revisit the issue in the future.


Thanks to everyone who provided feedback.


I believe this is a good decision and the proper way forward.

I also think that there is indeed a benefit in adding a bootom 
type to the language so I'd be happy to help with a new attempt 
as much my limited knowledge of type theory permits.


+1

Well done Walter, for the professionalism in handling the 
decision, and for the bravery in trying to push something he 
believe useful for the language, also if he is not as competent 
as Timon in this field.


Kudos to you, for the example given, and for the temperance!

-- P




Re: My Meeting C++ Keynote video is now available

2019-01-16 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 16 January 2019 at 16:30:17 UTC, Steven 
Schveighoffer wrote:

On 1/16/19 10:06 AM, Paolo Invernizzi wrote:


I'm waiting, for example, for a revamp of IO, just to start...


We're working on it...

https://github.com/schveiguy/iopipe
https://github.com/MartinNowak/io

-Steve


I was exactly referring to that two... they are great, and I've 
used both!
Despite that, they seem stalled: any plan to go ahead in the 
medium term?


Thanks for your work (and to Martin too)

---
Paolo


Re: My Meeting C++ Keynote video is now available

2019-01-16 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 16 January 2019 at 14:59:20 UTC, Steven 
Schveighoffer wrote:

On 1/15/19 4:37 AM, Martin Tschierschke wrote:

[...]


I should have said that your point is mostly correct, just that 
this is a bad example :)


I've looked for ORM on code.dlang.org, and never found one yet 
that I liked. So the answer would take infinite seconds to 
complete.


But let's say we put ORM into Phobos. Certainly, it would get 
heavy use, but I would be likely to believe that it would not 
cover the problem space completely, and leave quite a bit to be 
desired.


I think that there are some things that can go into the 
standard library and live there happily. There are other things 
that should be left to the community, even though they are 
essential, simply because locking into one 
implementation/API/idea is too restrictive.


-Steve


+1

I'm waiting, for example, for a revamp of IO, just to start...

--- Paolo


Re: DLS (D Language Server) v0.20

2018-12-28 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 28 December 2018 at 18:50:39 UTC, David Gileadi wrote:

On 12/28/18 4:14 AM, Laurent Tréguier wrote:

Hello, and merry Christmas! (a bit late, but whatever)


This is an excellent update--the update Just Works™ with VSCode 
on my mac, and functions very nicely too. Thanks!


I might suggest that you perhaps rename the VSCode extension to 
remove "VSCode" from the name (as it's redundant) and add "D 
Language" (because the current name makes it a bit hard to 
discover).


+1, It's a great piece of software, so thank you.

I'm using it  on Mac also, when I'm not using vim: works like a 
charm!


--- Paolo


Re: Blog post: What D got wrong

2018-12-13 Thread Paolo Invernizzi via Digitalmars-d-announce
On Thursday, 13 December 2018 at 18:29:39 UTC, Adam D. Ruppe 
wrote:


2) LETTING US TURN THEM OFF. SERIOUSLY WHY DON'T WE HAVE 
`virtual`, `throws`, `impure` AND THE REST?! THIS IS SO OBVIOUS 
AND THE LACK OF THEM IS UNBELIEVABLY FRUSTRATING.


Well, we had virtual, it was reverted
I know, I'm repeating this kind of things in a trollish way since 
2004, but... *sigh*


/Paolo




Re: A brief survey of build tools, focused on D

2018-12-10 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 10 December 2018 at 21:01:08 UTC, H. S. Teoh wrote:
And almost no build system handles reliable builds correctly 
when the build description is changed -- Button does, but it's 
in the extreme minority, and is still a pretty young project 
that's not widely known).


Tup [1] does, and it's pretty reliable on that: I think Botton 
was inspired by it.


Anyway, you are totally right: +1 on all your points!

[1] http://gittup.org/tup/

-- Paolo


Re: D compilation is too slow and I am forking the compiler

2018-11-22 Thread Paolo Invernizzi via Digitalmars-d-announce
On Thursday, 22 November 2018 at 13:19:58 UTC, Andrej Mitrovic 
wrote:
On Thursday, 22 November 2018 at 11:16:26 UTC, Paolo Invernizzi 
wrote:
BTW, it's nice to see again the Secret Squirrel on the forum, 
in these days: welcome back Andrej!


/Paolo


Oh hey there too! I'm sorry if I can't recall you, though. 
¯\_(ツ)_/¯


Oh, no problem... eheh


I mostly lurk around here these days.


Yep, the same...


But I still use D heavily, at work.


Well, the same here; not so heavily right now, my CTO is not sure 
anymore about the "case for D", but well, we have just delivered 
a D (medical) codebase to one of our customer...


Let's see...

/Paolo



Re: D compilation is too slow and I am forking the compiler

2018-11-22 Thread Paolo Invernizzi via Digitalmars-d-announce
On Thursday, 22 November 2018 at 10:51:45 UTC, Andrej Mitrovic 
wrote:




BTW, it's nice to see again the Secret Squirrel on the forum, in 
these days: welcome back Andrej!


/Paolo




Re: New Initiative for Donations

2018-10-28 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 28 October 2018 at 13:06:53 UTC, Laeeth Isharc wrote:

Banks are special because of the payments system and because of 
lending.  In October 2008 Gordon Brown was within two hours of 
shutting down the banking system and declaring a state of 
emergency.  If that had happened nobody would have been able to 
make payments and new lending would have come to a halt.


In 2038 you won't need banks to make payments because 
cryptocurrencies will be a viable alternative.  And lending is 
already being provided by asset managers.  So the justification 
for the combination of leverage and the mismatch in liquidity 
and risk of banks deposit liabilities and their assets will 
disappear.


Only one word: Huerta de Soto.

- Paolo



Re: Webassembly TodoMVC

2018-09-23 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 23 September 2018 at 17:53:32 UTC, Suliman wrote:
What do you think of the struct approach compared to a 
traditional jsx/virtual-dom?
jsx is sucks. Look at Vue.js way, if you will able to fo you 
framework Vue-style it will be perfect!


Being a Vue user for three years now,  I completely agree.

/P


Re: fearless v0.0.1 - shared made easy (and @safe)

2018-09-18 Thread Paolo Invernizzi via Digitalmars-d-announce

On Tuesday, 18 September 2018 at 17:20:26 UTC, Atila Neves wrote:

The `shared` keyword currently means one of two things:

1. You can use core.atomic with it
2. It's some struct and you BYOM (Bring Your Own Mutex)

[...]


Whahh!!  You made my day!

/Paolo


Re: GitHub could be acquired by Microsoft

2018-06-09 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 4 June 2018 at 07:53:13 UTC, drug wrote:

04.06.2018 09:02, Anton Fediushin пишет:

On Monday, 4 June 2018 at 04:40:44 UTC, Jonathan M Davis wrote:
On the bright side, maybe this will encourage online repo 
hosting to become less of a monopoly as folks move elsewhere 
due to their concerns about Microsoft.


- Jonathan M Davis


Can't agree more: GitLab and Bitbucket deserve more attention.

Speaking of which, there's huge spike [1] in project imports 
on GitLab. These are some great news for it, I hope it doesn't 
crash.


[1] 
https://monitor.gitlab.net/dashboard/db/github-importer?orgId=1


Gitlab has a big (for me) advantage being self hosted 
standalone system I can use privately. Its free version has 
restrictions comparing to enterprise version but very usable.
What about sexy modern design it's annoying (for me again) that 
this design changes frequently, it forces me almost every 
update to find where menus and buttons I used before placed now.


No more restrictions for using GitLab for open source projects 
[1], both SaaS and Self-Hosted.


It's really a big opportunity...

[1] 
https://about.gitlab.com/2018/06/05/gitlab-ultimate-and-gold-free-for-education-and-open-source/


/Paolo





Re: Reserved 1.0.0

2018-05-20 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 20 May 2018 at 09:15:12 UTC, Andrea Fontana wrote:

On Sunday, 20 May 2018 at 07:33:39 UTC, Fra Mecca wrote:
On Wednesday, 16 May 2018 at 08:38:05 UTC, Andrea Fontana 
wrote:
I released another small library on behalf of the company I 
work for (http://lab.2night.it). It is called "reserved", and 
it's a small library you can use to run your D 
webpages/service.


It is focused on simplicity (no dependencies) and fast setup. 
It use scgi to interface itself with nginx/apache/etc through 
unix sockets.


More info: http://code.dlang.org/packages/reserved

Comments are welcome.

Andrea Fontana


Ciao Andrea,
it is very nice to see an italian company (being an italian 
myself) publishing in the forum and using D.

Thanks for the contribution.

Francesco


We should try to spread the word :)

Andrea


Concordo :-)

/Paolo


Re: The D Language Foundation at Open Collective

2018-03-19 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 19 March 2018 at 09:42:11 UTC, rumbu wrote:
On Monday, 19 March 2018 at 07:22:42 UTC, Paolo Invernizzi 
wrote:

On Thursday, 15 March 2018 at 12:36:24 UTC, Meta wrote:

On Wednesday, 14 March 2018 at 12:00:42 UTC, Seb wrote:
Yeah, the idea is that 5$ a month isn't much (~ one coffee 
in most countries), but if 500 people donate one coffee a 
month, you get the entire coffee machine with a warp engine 
:)


Sorry to derail, but I had to ask: where does 1 coffee (even 
extra large) cost $5 USD? Let me know so I know to never move 
there.


Yeah...

I still prefer an 'espresso', that in Italy is simply called 
'caffè': 1.00 euro in Milano.

An original Cappuccino, italiano, is 1.20 euro...

/Paolo


I wonder how did you survive in Italy without Starbucks? :)


Well, things are moving... [1]
I'm wondering if they will do the 'espresso solo' the Italian 
Way guess not!


Anyhow, I've drank a very very good "caffè espresso" in Silicon 
Valley, in a Google Plex building...
There was a guy with a real passion about it, and he was able to 
use an Italian Coffè Machine in the right way.


:-)

[1] https://starbucksreservecareers.it/index.html



Re: The D Language Foundation at Open Collective

2018-03-19 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 15 March 2018 at 12:36:24 UTC, Meta wrote:

On Wednesday, 14 March 2018 at 12:00:42 UTC, Seb wrote:
Yeah, the idea is that 5$ a month isn't much (~ one coffee in 
most countries), but if 500 people donate one coffee a month, 
you get the entire coffee machine with a warp engine :)


Sorry to derail, but I had to ask: where does 1 coffee (even 
extra large) cost $5 USD? Let me know so I know to never move 
there.


Yeah...

I still prefer an 'espresso', that in Italy is simply called 
'caffè': 1.00 euro in Milano.

An original Cappuccino, italiano, is 1.20 euro...

/Paolo


Re: Release D 2.079.0

2018-03-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 7 March 2018 at 14:53:09 UTC, Sönke Ludwig wrote:

But why wouldn't it be possible to make a quick bugfix release 
with the current scheme? It has happened in the past. Granted, 
if a 0.8.5-beta.1 is already tagged, then using 0.8.5 for a 
quick intermediate release would be bad, but at that point the 
beta could likely also be turned into a full release pretty 
quickly.


Well, I don't know why, but quick is more than 30 days right now 
using the current release procedure...


https://github.com/vibe-d/vibe.d/issues/2058
https://github.com/vibe-d/vibe.d/releases

Anyway, never mind!

/Paolo


Re: Release D 2.079.0

2018-03-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 7 March 2018 at 10:13:29 UTC, Sönke Ludwig wrote:

Well, for all of the recent releases we made sure that there 
was no breakage for new compiler versions. This release was an 
exception, because I didn't manage to put out the fixed release 
in time. The plan is to have all future releases go back to the 
normal mode where the new compiler version always works.


Since std.experimental isn't involved from now on, it shouldn't 
even be necessary anymore to put out new vibe.d releases for 
new DMD versions, because DMD/Phobos already checks for 
regressions against vibe.d and all breaking changes should 
simply result in a deprecation warning.


That's fine, thanks.

As for the versioning scheme, currently almost all new releases 
have some small breaking change or deprecation. If I'd use the 
"minor" version for that, then there would be no way to signal 
that a release makes broad and more disruptive changes, such as 
the 0.8.0 release. But all of this will change, as the 
remaining parts get pushed to separate repositories one-by-one, 
with their own version starting at 1.0.0.


I understand your reasoning, but there's value in being able to 
just rapidly fix something with a new release, or just port some 
master bug-fixes into a released version branch.


DMD is experiencing a very enjoyable release process of patch 
versions, thanks to Martin and the team.


It your concern is only related to the best way to inform the 
users about a broad and disruptive change in vibe-d, I suggest to 
simply use the usual channels for that, change logs and announce 
forum.


My impression is that there's a lot of value in using patch for 
patch, instead of using patch for development, also in a zero 
major, so I maybe you should consider that change, or at least, 
investigate a little about that opportunity.


/Paolo




Re: Release D 2.079.0

2018-03-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 7 March 2018 at 04:02:18 UTC, Seb wrote:
On Tuesday, 6 March 2018 at 19:57:13 UTC, Steven Schveighoffer 
wrote:

On 3/6/18 2:30 PM, Martin Nowak wrote:
On Tuesday, 6 March 2018 at 12:21:41 UTC, Steven 
Schveighoffer wrote:


But if needed, you could have your dub package depend on a 
prior version.


http://code.dlang.org/packages/stdx-allocator ;)



This is the answer, vibe.d should depend on stdx-allocator.

-Steve


Vibe.d (and a lot of other projects) do depend on this package, 
see e.g.


https://github.com/vibe-d/vibe.d/pull/1983

Also many packages already depend on vibe.d-0.8.3, but it's in 
rc1 atm and not released as the latest stable tag yet, which is 
the reason for Atila's justified complaint.


The point is just to persuade Sonke to do his development in the 
minor version and increase it during every vibe-d release, and 
keep the patch version for fast fixes of the latest released 
vibe-d when a new version of the compiler is being released.


The actual policy is just an ask for problems...

It's not a big deal to fix the breakage on the latest released 
vibe-d code, it's a fast process. But it's a problem in just 
coordinating the next release of vibe-d with the release of the 
compiler, if you need to do this, like in this case.


/Paolo



Re: State of D 2018 Survey

2018-02-28 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 28 February 2018 at 13:41:56 UTC, Mike Parker wrote:
About a month ago, Sebastian Wilzbach sent an email out to a 
few of the core D folks asking for feedback on a survey he had 
put together. He thought it would be useful for the Foundation 
to use in order to make decisions about where to expend 
development efforts. Eventually Andrei gave his stamp of 
approval, the survey questions were tweaked, and then it was 
ready to roll.


Of course I would love for you to read my blog post announcing 
it, but if you want to skip the prose and go straight to the 
good stuff, here's the survey link:


https://seb134.typeform.com/to/H1GTak

The blog:
https://dlang.org/blog/2018/02/28/the-state-of-d-2018-survey/

Reddit:
https://www.reddit.com/r/d_language/comments/80w29n/the_state_of_d_2018_survey/


Done! Great initiative!

I'm glad to see how things are moving in DLang recently! :-P


Re: Beta 2.079.0

2018-02-23 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 23 February 2018 at 11:57:05 UTC, Martin Nowak wrote:

On Monday, 19 February 2018 at 15:58:57 UTC, Joakim wrote:


Given the effort required for a language change, it's seductive 
to streamline seemingly small changes, but it certainly 
increases the risk of design mistakes, thanks for appealing 
against this one.


-Martin


Thanks to you, sincerely, It was a nice try to solve a problem, 
and trying to solve problems is the 'right thing to do'.


I'm really pleased to see the D community developing the 
antibodies needed to support a strong and sane  grown of D!


/Paolo


Re: Beta 2.079.0

2018-02-21 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 21 February 2018 at 10:47:45 UTC, Eugene Wissner 
wrote:
On Wednesday, 21 February 2018 at 10:24:41 UTC, Paolo 
Invernizzi wrote:
On Wednesday, 21 February 2018 at 10:15:48 UTC, Jonathan M 
Davis wrote:
On Wednesday, February 21, 2018 10:04:01 Kagamin via 
Digitalmars-d-announce wrote:
On Tuesday, 20 February 2018 at 22:54:43 UTC, H. S. Teoh 
wrote:

> Yeah, personally I'd avoid writing it that way too.

There's no other way to use this feature though.


Some of us think that it's a bad feature and have no 
intention of ever using it, though once it's in the language, 
we all have to worry about dealing with code that does use it.


- Jonathan M Davis


Was there a DIP for that?

/Paolo


https://issues.dlang.org/show_bug.cgi?id=13855
https://github.com/dlang/dmd/pull/6589


And here we are again.






Re: Beta 2.079.0

2018-02-21 Thread Paolo Invernizzi via Digitalmars-d-announce
On Wednesday, 21 February 2018 at 10:15:48 UTC, Jonathan M Davis 
wrote:
On Wednesday, February 21, 2018 10:04:01 Kagamin via 
Digitalmars-d-announce wrote:

On Tuesday, 20 February 2018 at 22:54:43 UTC, H. S. Teoh wrote:
> Yeah, personally I'd avoid writing it that way too.

There's no other way to use this feature though.


Some of us think that it's a bad feature and have no intention 
of ever using it, though once it's in the language, we all have 
to worry about dealing with code that does use it.


- Jonathan M Davis


Was there a DIP for that?

/Paolo


Re: Beta 2.077.1

2017-12-01 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 30 November 2017 at 13:57:37 UTC, Martin Nowak wrote:

On 11/26/2017 02:27 PM, Paolo Invernizzi wrote:

18012 is an ice regression towards 2.076.1 ...


Fixed with 2.077.1, was a duplicate of 
https://issues.dlang.org/show_bug.cgi?id=17955.


Thanks Martin!



Re: Beta 2.077.1

2017-11-26 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 23 November 2017 at 11:43:08 UTC, Martin Nowak wrote:

First beta for the 2.077.1 point release.

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


Please report any bugs at https://issues.dlang.org

- -Martin


18012 is an ice regression towards 2.076.1 ...

/P


Re: dpeq - native PSQL extended query protocol client

2017-09-04 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 4 September 2017 at 12:07:29 UTC, Jacob Carlborg wrote:

Ah, ok. I didn't know about hb-ddb until you started this 
thread. I'm currently one of the maintainers of ddb and I 
haven't seen anything upstreamed there.


Me too...

/P


Re: Visual Studio Code code-d serve-d beta release

2017-08-25 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 24 August 2017 at 21:45:48 UTC, WebFreak001 wrote:
On Thursday, 24 August 2017 at 08:21:41 UTC, Paolo Invernizzi 
wrote:
On Wednesday, 23 August 2017 at 20:10:01 UTC, WebFreak001 
wrote:

[...]


Can you check?
If I want to build it, what repo and revision should I use?

[...]


git clone https://github.com/Pure-D/serve-d.git
cd serve-d
dub build --build=release


That's what I've done above in the previous post...

I was meaning, in 
`.vscode/extensions/webfreak.code-d-beta-0.17.3/bin` in the macOS 
installation there's a linux workspace-d binary.


If I want to rebuild it for macOS, what version of `workspace-d` 
have I to use?
There's no `workspace-d` source files in 
`webfreak.code-d-beta-0.17.3`, only the binary.


Thanks!

---
Paolo


Re: Visual Studio Code code-d serve-d beta release

2017-08-24 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 23 August 2017 at 20:10:01 UTC, WebFreak001 wrote:
On Wednesday, 23 August 2017 at 15:41:02 UTC, Paolo Invernizzi 
wrote:

On Saturday, 5 August 2017 at 22:43:31 UTC, WebFreak001 wrote:

[...]


It seems that under macOS, the linux executable is used, with 
a fresh install...


iMac:~ pinver$ uname -a
Darwin iMac.local 17.0.0 Darwin Kernel Version 17.0.0: Wed Aug 
16 20:06:51 PDT 2017; root:xnu-4570.1.45~23/RELEASE_X86_64 
x86_64
iMac:~ pinver$ file 
/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/serve-d/serve-d

/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/serve-d/serve-d:
 ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, 
interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, 
BuildID[sha1]=788ec4845beac53f20ad0c0279f6b143bf9e42cc, with debug_info, not 
stripped

Version 0.17.3 ...

---
Paolo


uh serve-d doesn't have any prebuilt binaries yet so that is 
compiled on your PC and should be correct


Well, it would be really strange that dmd was able to compile and 
link a linux executable on my iMac, no? :-O


Anyway...

iMac:serve-d pinver$ pwd
/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/serve-d
iMac:serve-d pinver$ dub build --build=release
Package xdgpaths can be upgraded from 0.2.3 to 0.2.4.
Package dub can be upgraded from 1.2.1 to 1.2.2.
Package libdparse can be upgraded from 0.7.0 to 0.7.1.
Use "dub upgrade" to perform those changes.
Performing "release" build using dmd for x86_64.
eventsystem 1.1.0: building configuration "library"...
dunit 1.0.14: building configuration "library"...
painlesstraits 0.2.0: building configuration "library"...
painlessjson 1.3.8: building configuration "library"...
dub 1.2.1: building configuration "library"...
libdparse 0.7.0: building configuration "library"...
../../../../../.dub/packages/libdparse-0.7.0/libdparse/src/dparse/ast.d(1346,10):
 Deprecation: cannot implicitly override base class method 
object.Object.opEquals with dparse.ast.Declaration.opEquals; add override 
attribute
isfreedesktop 0.1.1: building configuration "library"...
xdgpaths 0.2.3: building configuration "library"...
standardpaths 0.7.1: building configuration "default"...
workspace-d 2.10.1: building configuration "library"...
../../../../../.dub/packages/libdparse-0.7.0/libdparse/src/dparse/ast.d(1346,10):
 Deprecation: cannot implicitly override base class method 
object.Object.opEquals with dparse.ast.Declaration.opEquals; add override 
attribute
serve-d ~master: building configuration "application"...
../../../../../.dub/packages/libdparse-0.7.0/libdparse/src/dparse/ast.d(1346,10):
 Deprecation: cannot implicitly override base class method 
object.Object.opEquals with dparse.ast.Declaration.opEquals; add override 
attribute
Linking...
iMac:serve-d pinver$ file serve-d
serve-d: Mach-O 64-bit executable x86_64

Now...

iMac:bin pinver$ file 
/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/workspace-d

/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/workspace-d: 
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, 
interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, 
BuildID[sha1]=5cb6f08ed280d886418aeeeb4332a380d9cc44aa, not stripped

Again linux, there's no source code in the extension, so, I think 
that this binary was installed directly along with the plugin...


Can you check?
If I want to build it, what repo and revision should I use?

---
/Paolo






Re: Visual Studio Code code-d serve-d beta release

2017-08-23 Thread Paolo Invernizzi via Digitalmars-d-announce

On Saturday, 5 August 2017 at 22:43:31 UTC, WebFreak001 wrote:
You might remember the blog post from a while back about 
workspace-d and serve-d, I just released a beta version on the 
visual studio marketplace that allows you to try out the latest 
features of serve-d. Note that this version might easily break 
in the future, but for the next few days I am trying to gain 
some feedback. If you are a user of code-d and if you want to 
try out the new version please uninstall code-d and install 
code-d-beta 
(https://marketplace.visualstudio.com/items?itemName=webfreak.code-d-beta, it's version 0.16.1) and just try to use it.


[...]


It seems that under macOS, the linux executable is used, with a 
fresh install...


iMac:~ pinver$ uname -a
Darwin iMac.local 17.0.0 Darwin Kernel Version 17.0.0: Wed Aug 16 
20:06:51 PDT 2017; root:xnu-4570.1.45~23/RELEASE_X86_64 x86_64
iMac:~ pinver$ file 
/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/serve-d/serve-d

/Users/pinver/.vscode/extensions/webfreak.code-d-beta-0.17.3/bin/serve-d/serve-d:
 ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, 
interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, 
BuildID[sha1]=788ec4845beac53f20ad0c0279f6b143bf9e42cc, with debug_info, not 
stripped

Version 0.17.3 ...

---
Paolo


Re: Beta 2.075.0-b2

2017-07-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 5 July 2017 at 17:59:16 UTC, Martin Nowak wrote:

Second beta for the 2.075.0 release.

Comes with a couple of more fixes for dmd, phobos, and dub:

https://github.com/dlang/dmd/compare/v2.075.0-b1...v2.075.0-b2 
https://github.com/dlang/phobos/compare/v2.075.0-b1...v2.075.0-b2 https://github.com/dlang/dub/compare/v1.4.0-beta.1...v1.4.0-beta.2


Downloads and changelog here:

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


Please report any bugs at https://issues.dlang.org.

- -Martin


Installed on macOS via brew...

  pinver$ /usr/local/Cellar/dmd/2.075.0-b2/bin/dmd --version
  DMD64 D Compiler v2.074.1

/Paolo


Re: Release candidates vibe.d 0.8.0-rc.2 and vibe-core 1.0.0-rc.2

2017-06-28 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 28 June 2017 at 08:37:40 UTC, Andre Pany wrote:

On Tuesday, 27 June 2017 at 09:20:40 UTC, Sönke Ludwig wrote:

Am 22.06.2017 um 10:55 schrieb Sönke Ludwig:
There have been some minor fixes and vibe.d 0.8.0-rc.2 and 
vibe-core 1.0.0-rc.2 have been tagged. The final release is 
rescheduled for Monday, July the 3rd.




Still not able to use it for this [1] ...
Works fine in Vibe 0.7.31 with libevent ...

/Paolo

[1] https://github.com/rejectedsoftware/vibe.d/issues/1757


Re: Trip notes from Israel

2017-05-26 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 26 May 2017 at 11:32:21 UTC, Andrei Alexandrescu wrote:

On 5/22/17 6:53 PM, cym13 wrote:

One thing that several of those people emphasized is we need to 
improve leadership and decision. "You are trying to do 
democracy and democracy doesn't work here" (by a successful 
serial entrepreneur). Walter and I have implicitly fostered a 
kind of meritocracy whereby it's the point/argument that 
matters. It should be meritocracy of the person - good proven 
contributors have more weight and new people must prove 
themselves before aspiring to influence. Historically, anyone 
with any level of involvement with D could hop on the forum and 
engage the community and its leadership in debate. 
Subsequently, they'd be frustrated with the ensuing 
disagreement and also get a sense of cheapness - if I got to 
carry this unsatisfactory debate with the language creator 
himself, what kind of an operation is this?


Since anything can be debated by anyone, everything gets 
debated by everyone. Anyone can question any decision at any 
time and expect a response. It's the moral equivalent of 
everyone in a 5000-person company building can expect to stop 
the CEO on the way to his/her office and engage them in a 
conversation of any length. The net consequence is slower 
progress.


Where we need to be is fostering strong contributions and 
contributors. The strength of one's say is multiplied by 
his/her contributions (and that simply means pulled PRs, 
successful DIPs - not "won" debates).


I strongly suggest to have a clear and transparent procedure to 
collect impressions and  suggestion from *commercials* that are 
*actually using* the language in production, and separate those 
from other things to discuss.


Guru meditation: try not to loose talented contributors 
involved... Dicebot, Kenji, Bearofile... what's happened, and 
what can be done on this front?


Sincerely
/Paolo


Re: DMD now has colorized syntax highlighting in error messages

2017-05-15 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 15 May 2017 at 04:33:39 UTC, ketmar wrote:

On Monday, 15 May 2017 at 03:09:09 UTC, Walter Bright wrote:

On 5/14/2017 7:44 PM, ketmar wrote:

sorry for being rude,


Then please do not post rude comments. We expect professional 
decorum here.


sorry. i never got any money for using D, so i'm certainly not 
a professional ('cause professionals are the people which get 
payment for their work). sorry again for polluting NG with my 
unprofessional writings. i will stop doing that immediately 
after this post.


Rude or not, I think ketmar is right...

/P


Re: Cap'n Proto for D v0.1.2

2017-04-20 Thread Paolo Invernizzi via Digitalmars-d-announce
On Thursday, 20 April 2017 at 18:25:03 UTC, Jonathan M Davis 
wrote:
On Tuesday, April 18, 2017 18:09:54 Thomas Brix Larsen via 
Digitalmars-d- announce wrote:


LOL. Oh, I remember a coworker bringing up this library. It's 
the one that the site claimed was infinitely faster than 
protocol buffers (IIRC, because of some work that protocol 
buffers does that Captain Proto skips entirely).


Exactly!
Well, "Captain Proto" knows what he does, as he was the man that 
wrote google protobuf.


The same way of working of Cap'n Proto is what Google introduced 
later in FlatBuffer...
but it's missing totally all the good stuff taken from e-lang, 
that in my opinion is a big plus.


Don't take me wrong, I know that a lot is to be implemented, 
today, but I love man with a clean path towards brilliant ideas 
[1]


[1] https://capnproto.org/rpc.html

/Paolo



Re: Cap'n Proto for D v0.1.2

2017-04-18 Thread Paolo Invernizzi via Digitalmars-d-announce
On Tuesday, 18 April 2017 at 18:09:54 UTC, Thomas Brix Larsen 
wrote:
"Cap’n Proto is an insanely fast data interchange format and 
capability-based RPC system. Think JSON, except binary. Or 
think Protocol Buffers, except faster."


This is the initial public release of my optimized port of the 
Java implementation of Cap'n Proto.


State:
* Passes Cap'n Proto testsuite.
* Optimized. Just a little slower than the official C++ 
implementation (see benchmarks on github).

* Missing RPC part of Cap'n Proto.

http://code.dlang.org/packages/capnproto-dlang
https://github.com/ThomasBrixLarsen/capnproto-dlang


Great Job!

I'm following Cap'n Proto, and it's very very interesting...
I would love also the RPC part, maybe based on Vibe... have you 
any plan to implement that?


I'm really curious to try it!

---
Paolo


Re: dmd Backend converted to Boost License

2017-04-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Friday, 7 April 2017 at 15:14:40 UTC, Walter Bright wrote:

https://github.com/dlang/dmd/pull/6680

Yes, this is for real! Symantec has given their permission to 
relicense it. Thank you, Symantec!


Congrats! That's a big win, and you deserve all the merits!

Enjoy the moment!

---
Paolo


Re: This Week in D: debugging uncaught exceptions

2016-08-09 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 8 August 2016 at 04:24:45 UTC, Adam D. Ruppe wrote:
I decided to write up a think on untrapping exceptions this 
week:


http://arsdnet.net/this-week-in-d/2016-aug-07.html

Next week I'll prolly talk about calling D from Ruby. Last 
week, we had a status report from Stefan Koch on his CTFE 
engine.


If you aren't already following this, every Sunday night or 
Monday morning, the little newsletter comes out with a snapshot 
of forum activity and about half of them have some kind of 
longer article or tip or other such educational content.


The RSS feed (linked on the page) is also a single-page archive 
so you can search for old things there too!


Thank you Adam, this is pure gold stuff to know!

/Paolo


Re: Release D 2.071.0

2016-04-12 Thread Paolo Invernizzi via Digitalmars-d-announce
On Saturday, 9 April 2016 at 16:56:50 UTC, Vladimir Panteleev 
wrote:
since I  can run the Windows version via Wine. But if no one 
else needs this then it's fine.


Me too

/P




Re: IAP Tools for D

2015-12-20 Thread Paolo Invernizzi via Digitalmars-d-announce

On Sunday, 20 December 2015 at 01:16:46 UTC, Jakob Jenkov wrote:

[...]


That depends on what API you use, and how much "meta data" 
(e.g. class names and property names) you write in the 
serialized ION data. ION is quite flexible about how much meta 
you want to include.


[...]


I suggest to compare also against this [1].
The author, Kenton Varda, was the primary author of Protocol 
Buffers version 2, which is the version that Google released open 
source.


[1] https://capnproto.org

/Paolo


Re: "Programming in D" paper book is available for purchase

2015-09-07 Thread Paolo Invernizzi via Digitalmars-d-announce

On Wednesday, 19 August 2015 at 00:57:32 UTC, Ali Çehreli wrote:



Enjoy, and go buy some books! ;)



My printed copy is just arrived... very good job Ali!

Paolo


Re: Moving forward with work on the D language and foundation

2015-08-29 Thread Paolo Invernizzi via Digitalmars-d-announce
On Monday, 24 August 2015 at 18:43:01 UTC, Andrei Alexandrescu 
wrote:

Hello everyone,


Following an increasing desire to focus on working on the D 
language and foundation, I have recently made the difficult 
decision to part ways with Facebook, my employer of five years 
and nine months.




I understand very well the difficulty of decisions of such kinds, 
that's why you have all my respect.


Re: Coedit 1 gold released

2015-06-11 Thread Paolo Invernizzi via Digitalmars-d-announce

On Thursday, 11 June 2015 at 06:28:08 UTC, Jacob Carlborg wrote:

On 2015-06-10 08:57, Andrei Alexandrescu wrote:


I can haz OSX pliz pliz ok thx bye -- Andrei


Having D/Objective-C merged [1] would make it a lot easier.

[1] https://github.com/D-Programming-Language/dmd/pull/4321


+1000





Re: Gary Willoughby: Why Go's design is a disservice to intelligent programmers

2015-03-31 Thread Paolo Invernizzi via Digitalmars-d-announce

On Monday, 30 March 2015 at 18:20:39 UTC, Walter Bright wrote:

Well put.

My brain still thinks in terms of loops.


Sadly, mine also... ;-P


Re: Gary Willoughby: Why Go's design is a disservice to intelligent programmers

2015-03-28 Thread Paolo Invernizzi via Digitalmars-d-announce

On Saturday, 28 March 2015 at 02:31:37 UTC, Laeeth Isharc wrote:

The data points we have suggest that the scarcity of D 
programmers is an imaginary problem, because enterprises just 
hire good people and they pick it up (ask Don at Sociomantic or 
Dicebot for example).  Modern business has a misplaced emphasis 
on credentials.  And if you have a large code base it is not 
like a new guy can just dive in, anyway.  There is a signalling 
effect at work also, at least for the time being.


+1

/P



  1   2   >