March 01, 2023

On Wednesday, 1 March 2023 at 15:09:20 UTC, Steven Schveighoffer wrote:

>

On 3/1/23 10:05 AM, Guillaume Piolat wrote:

>

On Wednesday, 1 March 2023 at 14:50:16 UTC, Steven Schveighoffer wrote:

>

We are stuck forever with both JSON and SDL as valid config formats, even if they are deprecated/undocumented.

Unmaintained packages don't have that much value for the ecosystem.

These aren't unmaintained projects.

e.g. vibe-d has 207 versions. If you depend on version 0.9.5 (released on July 2022), that version used a dub.sdl, now what?

-Steve

Dplug users don't use major version 1, they use major version 11+

March 01, 2023

I found an argument against YAML

https://www.baeldung.com/yaml-json-differeneces

30x slower than json

March 01, 2023

On Tuesday, 28 February 2023 at 14:29:28 UTC, Mathias LANG wrote:

>

while YAML is everywhere

Which is nothing to be proud of, it's the worst markup language.

March 01, 2023

On Wednesday, 1 March 2023 at 15:43:26 UTC, ryuukk_ wrote:

>

I found an argument against YAML

https://www.baeldung.com/yaml-json-differeneces

30x slower than json

30x slower than almost zero is still almost zero (a long long dub.json is going to be 1k lines at most)

March 02, 2023
I've been working on trying to get dub to build faster.

Dyaml appears to be a big ol' pile of slow code to build.

So far I've shaved off 2s from its build, down to 22s with dmd.

Either way, we have a problem... and it'll affect this particular decision.
March 01, 2023

On Wednesday, 1 March 2023 at 09:10:36 UTC, Mathias LANG wrote:

>

On Tuesday, 28 February 2023 at 17:27:24 UTC, CM wrote:

>

On Tuesday, 28 February 2023 at 14:29:28 UTC, Mathias LANG wrote:

>

[...]

Is obscurity SDL's biggest downside? When I was a D and DUB initiate, I had no issues acclimating to its usage, especially compared to SBT's DSL. Instead, the source of the friction was due to DUB's documentation, and there's already an effort to improve this.

The syntax will always be an outlier. Someone building a project nowadays need not only a language and a build system, but a wealth of tools around it. CI, editor, deployment configs... Many of which have adopted YAML, none of which use SDL.

I'm not a professional programmer, and I'm ignorant as to how this pertains to SDL's current usage. From man's perspective, there's already syntax highlighting, auto-completion, and on-demand parsing of a recipe file. To a machine, perhaps SDL requires a better parsing library that's more appropriate for D and its ecosystem instead of Java, from which it came, but that seems easier than an upheaval.

March 01, 2023

On Wednesday, 1 March 2023 at 15:43:26 UTC, ryuukk_ wrote:

>

I found an argument against YAML

https://www.baeldung.com/yaml-json-differeneces

30x slower than json

"Json can be better cause you can delete endlines"

I feel like this person is confusing configuration and binary data

March 01, 2023

On Wednesday, 1 March 2023 at 14:21:12 UTC, Steven Schveighoffer wrote:

>

It hasn't sailed for dub. Neither json nor sdl require significant white space.

I meant that the argument, in general, has been debunked. Also, SDL has significant whitespace in how it treats newlines.

>

We will never be rid of SDL. Remember that dub has to not only parse the current config, but all tagged configs. Updating all old projects, and all previous tags of old projects, is not going to happen.

That's a problem we can work around, but having code to convert from SDL to YAML/JSON. We're already doing this (accidentaly) when downloading a package.

March 01, 2023

On Wednesday, 1 March 2023 at 14:21:12 UTC, Steven Schveighoffer wrote:

>

Also, what is configy? And why wouldn't yaml also require changes?

Forgot to answer this. YAML doesn't require any change (well, almost), because as of v1.30, dub parses dub.json using a YAML parser. As for configy, I provided a link: https://github.com/dlang-community/configy

March 01, 2023

On 3/1/23 4:04 PM, Mathias LANG wrote:

>

On Wednesday, 1 March 2023 at 14:21:12 UTC, Steven Schveighoffer wrote:

>

Also, what is configy? And why wouldn't yaml also require changes?

Forgot to answer this. YAML doesn't require any change (well, almost), because as of v1.30, dub parses dub.json using a YAML parser. As for configy, I provided a link: https://github.com/dlang-community/configy

So the benefit of YAML is that you already infected dub with it?

Another benefit of json5 then becomes, we can get rid of the YAML parser!

-Steve