Re: Intellij D Language plugin v1.28.0

2022-06-09 Thread tsbockman via Digitalmars-d-announce

On Monday, 6 June 2022 at 23:35:31 UTC, singingbush wrote:
For anyone that likes to use Intellij, the latest release of 
the D Language plugin has now been published to the Jetbrains 
plugin repository: https://plugins.jetbrains.com/plugin/8115


I'd like to thank Etienne Brateau for contributing numerous bug 
fixes in this release.


For a list of resolved issues see: 
https://github.com/intellij-dlanguage/intellij-dlanguage/milestone/32?closed=1


Thanks for finally updating the grammar! This update cleared a 
ton of spurious red squiggles from my code. I think the text 
editor is more responsive now, too.


Re: Classes in D with betterC

2021-11-20 Thread tsbockman via Digitalmars-d-announce
On Saturday, 20 November 2021 at 04:58:52 UTC, Walter Bright 
wrote:

https://lsferreira.net/posts/zet-1-classes-betterc-d/

by Luís Ferreira


Great! `__traits(initSymbol, T)` will solve some problems for my 
current project.


Some other `class` related issues I've run into trying to get 
going with classes in dasBetterC:


`extern(C++) class` dynamic casts are completely broken:
https://issues.dlang.org/show_bug.cgi?id=21690

The GC never calls `extern(C++) class` instance destructors:
https://issues.dlang.org/show_bug.cgi?id=21693

Non-mutable `extern(D) class` `scope` instances cannot be created:
https://issues.dlang.org/show_bug.cgi?id=21692

Template breaks return annotation for `class` reference returned 
by struct method:

https://issues.dlang.org/show_bug.cgi?id=22528


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

2021-01-01 Thread tsbockman via Digitalmars-d-announce
On Wednesday, 30 December 2020 at 10:51:38 UTC, Martin Nowak 
wrote:

The release candidate for 2.095.0 is live now.


It might be a good idea for someone to at least do triage on this 
regression I found before release:

https://issues.dlang.org/show_bug.cgi?id=21513

The symptoms weren't too bad in my case (an easily worked around 
segmentation fault), however it seems like the kind of thing that 
might cause silent memory corruption in another context?


Re: DIP 1028 "Make @safe the Default" is dead

2020-05-28 Thread tsbockman via Digitalmars-d-announce

On Friday, 29 May 2020 at 04:53:07 UTC, Walter Bright wrote:

The subject says it all.

If you care about memory safety, I recommending adding `safe:` 
as the first line in all your project modules, and annotate 
individual functions otherwise as necessary. For modules with C 
declarations, do as you think best.


For everyone else, carry on as before.


Great. Thanks for accepting the community's feedback.

On the extern(C) issue, I wasn't convinced by your concerns about 
programmers taking the path of least syntactical resistance, BUT 
if that would really have been a serious problem, I think just 
keeping @system as default really is the best solution:


Ideally @safe would be brainlessly easy to use, however currently 
it can't truly do its job without some level of understanding and 
effort on the part of the user. So, better to just leave the 
whole system off by default, than try to force it on people who 
can't or won't make the effort to use it correctly.


(I say this even though I try to use @safe as much as possible in 
my own code.)


checkedint DUB package updated for the new integer promotion rules

2020-04-18 Thread tsbockman via Digitalmars-d-announce
I have updated my checkedint DUB package to work with newer 
compilers:

https://code.dlang.org/packages/checkedint
There are two significant breaking changes as a part of this:

* The minimum compiler frontend version is now 2.071.

* If the `-preview=intpromote` compiler option is supplied, the 
return types of `safeOp.unary`, `safeOp.abs`, and the 
corresponding `SafeInt` methods change to match the new behavior 
of the built-in types. See the changelog for D 2.078:

https://dlang.org/changelog/2.078.0.html#fix16997

I fixed all of the deprecation warnings that I could, but there 
are a few that can only reasonably be removed by enabling 
`-preview=intpromote`. These should go away naturally once 
`intpromote` becomes the default.


If anyone is actually using this package, please let me know 
either here or on GitHub if there's anything else I need to fix.


Re: Battle-plan for CTFE

2016-08-30 Thread tsbockman via Digitalmars-d-announce

On Monday, 29 August 2016 at 08:39:56 UTC, Stefan Koch wrote:
I just came up with a nifty little patch that makes it possible 
to ensure that a function is _only_ used at ctfe.

Or the opposite.

static assert(__ctfe, "This function is not supposed to be 
called outside of ctfe");
and static assert(!__ctfe, "This function is not supposed to be 
called during ctfe");


similarly you can use static if (__ctfe).

Is it worth trying to get it into master ?


Yes, please. I've often wished I could use `__ctfe` in a `static 
if`.




Re: Vision document for H2 2016

2016-07-20 Thread tsbockman via Digitalmars-d-announce

On Friday, 8 July 2016 at 18:04:16 UTC, Andrei Alexandrescu wrote:
"Oops, can't let checkedint happen but I can't criticize 
without proposing an alternative so forget RCStr and let me 
work on that"

...
On 07/08/2016 05:17 AM, Robert burner Schadek wrote:

People would have a go to place
looking for pre-approved work. Leading to no more gatekeeper 
rejection frustration.


I don't think preapproved work would lead to less rejection. 
Rejection is of work of insufficient quality, not of work that 
has not been preapproved. Conversely, preapproval does not 
guarantee any work will be actually approaved.


My bid for inclusion of `checkedint` in Phobos fizzled because I 
want to solve a different (though overlapping) set of problems 
than you do.


No matter how much I iterate and improve my work you still won't 
be satisfied, because our goals are incompatible and I'm not 
interested in discarding mine in favor of yours. This is clear 
from the response you gave when I explained in some detail the 
reasons for my design:


https://forum.dlang.org/post/njss1a$2ig5$1...@digitalmars.com
Even if it were the case that there's no smaller design that 
conforms with the requirements, that means requirements have a 
problem.


You neither gave any *specific* suggestions as to how I could 
better meet my requirements, not did you state which of my 
numbered requirements, *specifically* was unreasonable or 
unnecessary. All of the major suggestions that you did give 
revolved around adding new requirements (like support for 
arbitrary bound ranges and user-defined error handling), while 
somehow shrinking the code base. Something had to give.


Repeatedly dismissing this obvious goals mismatch as 
"insufficient quality" on my part is abrasive and unhelpful.


Communicating clear requirements for projects ahead of time via 
pre-approval could help ensure that people who volunteer are 
actually working on something you want. Obviously I'm not the 
volunteer you're looking for, but maybe if we'd all known that I 
wouldn't have taken ownership of the project, and someone else 
would already have made what you want, instead.


Re: D's Auto Decoding and You

2016-06-03 Thread tsbockman via Digitalmars-d-announce

On Friday, 3 June 2016 at 06:37:59 UTC, Rory McGuire wrote:

This dpaste shows a couple of issues with combining chars in D.

https://dpaste.dzfl.pl/4b006959c5c0

The compiler actually can't handle a combining character 
literal either. see line 10.


Your paste behaves as expected: the "character" types in D are 
defined as single Unicode code units. By definition, the NFD form 
of "é" is not a single code unit. You would need to use a 
Grapheme or [w|d]string for that.


(Of course, one might reasonably question how useful our built-in 
character types actually are compared to ubyte/ushort/uint.)


Re: D's Auto Decoding and You

2016-06-03 Thread tsbockman via Digitalmars-d-announce

On Friday, 3 June 2016 at 03:16:33 UTC, jmh530 wrote:
I'm just looking over std.uni's section on normalization and 
realizing that I had basically no idea what it is or what's 
going on. The wikipedia page on unicode equivalence is a bit 
clearer.


This might help a bit, as well:
https://dpaste.dzfl.pl/2ffb22b02842



Re: DConf 2016 announces programme, general registration opened thrugh April 22

2016-03-28 Thread tsbockman via Digitalmars-d-announce

On Monday, 28 March 2016 at 22:30:33 UTC, Luís Marques wrote:

On Monday, 28 March 2016 at 20:33:37 UTC, tsbockman wrote:
The "What Parnas72 Means for D" talk sounds interesting, but I 
think it needs an abstract for the abstract, or a TL;DR.


That was the "Extended Description" that I had submitted. The 
original "Abstract" section read:


I have submitted a DConf.org pull request:
https://github.com/D-Programming-Language/dconf.org/pull/107


Re: DConf 2016 announces programme, general registration opened thrugh April 22

2016-03-28 Thread tsbockman via Digitalmars-d-announce

On Monday, 28 March 2016 at 22:30:33 UTC, Luís Marques wrote:

On Monday, 28 March 2016 at 20:33:37 UTC, tsbockman wrote:
The "What Parnas72 Means for D" talk sounds interesting, but I 
think it needs an abstract for the abstract, or a TL;DR.


That was the "Extended Description" that I had submitted. The 
original "Abstract" section read:


David Parnas' 1972 seminal paper, "On the criteria to be used 
in decomposing systems into modules", set a milestone in our 
collective understanding of how complex programs should be 
divided into more manageable parts. Over forty years later, I 
have reimplemented in D the example programs presented in the 
paper and came away with insights that are not obvious from a 
more casual reading of that text. In this talk I will 1) 
present the original insight of the paper, using more modern 
language; 2) relate it to current design best practices and 3) 
argue, with the help of my implementation, that D best 
fulfilled the paper's original vision, even surpassing it.


Yes, that looks good. That's what should be on the DConf website.


Re: DConf 2016 announces programme, general registration opened thrugh April 22

2016-03-28 Thread tsbockman via Digitalmars-d-announce
On Monday, 28 March 2016 at 16:34:55 UTC, Andrei Alexandrescu 
wrote:

DConf 2016


Looks like a great lineup of talks this year! I intend to watch 
almost all of them.


The "What Parnas72 Means for D" talk sounds interesting, but I 
think it needs an abstract for the abstract, or a TL;DR.


Re: Vision for the first semester of 2016

2016-01-26 Thread tsbockman via Digitalmars-d-announce
On Tuesday, 26 January 2016 at 12:46:23 UTC, Ola Fosheim Grøstad 
wrote:

On Monday, 25 January 2016 at 08:57:44 UTC, Rory McGuire wrote:
Ouch yes, seen that before. I just would prefer the base 
library to be exactly that a base.


I agree. Imagine if all the effort put into Phobos' extras was 
put into the compiler and tooling...


It's not like you could just reallocate all the effort that goes 
into Phobos towards the compiler and stuff.


Especially with the compiler itself, most people are unqualified 
or uninterested in working on it. If it were suddenly announced 
that Phobos was "finished", I guarantee a lot of volunteers would 
just walk away (likely including myself).


Re: Vision for the first semester of 2016

2016-01-26 Thread tsbockman via Digitalmars-d-announce
On Tuesday, 26 January 2016 at 21:47:41 UTC, Ola Fosheim Grøstad 
wrote:

On Tuesday, 26 January 2016 at 21:03:01 UTC, tsbockman wrote:
Also, you skipped past the "uninterested" part - this is a 
volunteer project, remember?


I didn't think it was a relevant argument as you can still 
write libraries for distribution. Keep in mind that the 
standard library has to be maintained and API's cannot easily 
be redesigned because of backwards compatibility.


Even if C/C++ have small standard libraries they provide a 
depressing amount of low quality functionality that one should 
avoid. But it is kept in for backwards compatibility and 
sometimes even updated and extended...


That not a good thing.


There are certainly disadvantages to the standard library model 
of distribution and maintenance.


On the other hand:

1) The prospect of getting something into the standard library is 
a huge motivator for (at least some) potential contributors.


Why? Because building a library that no one knows about/trusts is 
wasted effort. Getting something into `std` is among the most 
effective forms of marketing available, and requires little 
non-programming-related skill or effort on the part of the 
contributor.


2) Standard libraries don't enforce backwards compatibility (and 
high code quality in general) just for the sake of bureaucracy - 
they do so because these are highly desirable characteristics for 
basic infrastructure. People shouldn't have to rewrite their 
entire stack every 6 months just because someone thought of a 
better API for some low-level component.


Making it through D's formal review process typically raises code 
quality quite a lot, and the knowledge that backwards 
compatibility is a high priority makes outsiders much more likely 
to invest in actually using a library module.


In short, while you make some valid points, your analysis seems 
very lopsided; it completely glosses over all of the positives 
associated with the status quo.


Re: Vision for the first semester of 2016

2016-01-26 Thread tsbockman via Digitalmars-d-announce
On Tuesday, 26 January 2016 at 22:48:23 UTC, Ola Fosheim Grøstad 
wrote:

On Tuesday, 26 January 2016 at 22:33:32 UTC, tsbockman wrote:
characteristics for basic infrastructure. People shouldn't 
have to rewrite their entire stack every 6 months just because 
someone thought of a better API for some low-level component.


Then don't use libraries from unreliable teams.


Just using the standard library whenever possible is a simple and 
efficient way of accomplishing this - if the standard library 
actually has anything in it...


Making it through D's formal review process typically raises 
code quality quite a lot, and the knowledge that backwards 
compatibility is a high priority makes outsiders much more 
likely to invest in actually using a library module.


Code quality is one thing, but if it has not been used in many 
applications, how can you then know if the abstraction is 
particularly useful?


This is why requiring modules to spend some time on DUB and/or in 
`std.experimental` before freezing the API is important.


In general the standard library should just be the most basic 
things, even file system support is tricky for a system level 
programming language. For instance, on some cloud platforms you 
don't get to read/write parts of a file. You do it as one big 
atomic write/read.


Targeting 100% generality with APIs is pretty much always a bad 
idea.


Standard libary modules should endeavor to meet the needs of at 
least, say, 80% of potential users; they're not supposed to 
completely eliminate the need for specialized third-party 
libraries entirely. This is OK, because if you don't use a 
module, the compiler won't include it in the final executable.


Re: Vision for the first semester of 2016

2016-01-24 Thread tsbockman via Digitalmars-d-announce
On Monday, 25 January 2016 at 02:37:40 UTC, Andrei Alexandrescu 
wrote:

Hot off the press! http://wiki.dlang.org/Vision/2016H1 -- Andrei


Something went wrong here:

We fell short of our 2000 pull requests goal in H2 2015. We 
have had only 1 1378 pull requests.


In addition to the extraneous "1", the link is bad: "No results 
matched your search."


Re: Vision for the first semester of 2016

2016-01-24 Thread tsbockman via Digitalmars-d-announce

On Monday, 25 January 2016 at 07:03:35 UTC, Russel Winder wrote:
The strategy should be "get rid of anything in Phobos that can 
be put

out as a separate library".


This makes no sense as a standard: since neither DMD nor druntime 
is allowed to depend upon Phobos, everything in Phobos *could* be 
put into a separate library.


Re: LDC 0.17.0-beta1 has been released!

2016-01-18 Thread tsbockman via Digitalmars-d-announce

On Monday, 18 January 2016 at 15:47:07 UTC, Manu wrote:

Love your work guys! Thanks for keeping at it.

One question though, what's the plan for moving to DMD latest? 
Both

LDC and GDC seem to be quite behind at the moment.
My current project is depending on bug-fixes patched in by 
Walter in

the last few days, so I'm stuck with DMD for the moment.


GDC 2.067 is getting close: 
https://github.com/ibuclaw/GDC/commits/2.067


Re: New D tool releases

2016-01-14 Thread tsbockman via Digitalmars-d-announce

On Thursday, 14 January 2016 at 09:05:09 UTC, Brian Schott wrote:

dfmt: Code formatter
0.4.2
http://code.dlang.org/packages/dfmt
https://github.com/Hackerpilot/dfmt/releases/tag/v0.4.2


You forgot to bump the version number:
dfmt --version
0.4.1



Re: Andrei on Optimization

2016-01-08 Thread tsbockman via Digitalmars-d-announce

On Friday, 8 January 2016 at 13:30:34 UTC, Walter Bright wrote:

Part 2: https://www.youtube.com/watch?v=3_FXy3cT5C8


Inspiration for a new logo? :P
http://www.youtube.com/watch?v=3_FXy3cT5C8=47m50s



Re: Beta D 2.070.0-b1

2016-01-03 Thread tsbockman via Digitalmars-d-announce

On Sunday, 3 January 2016 at 19:24:57 UTC, Martin Nowak wrote:

First beta for the 2.070.0 release.


Any hope for this?

https://github.com/D-Programming-Language/dmd/pull/3407#issuecomment-136974686

It's been bugging a lot of people lately.