Thread overview
[Semi-OT] Sdlang Initiative
Sep 09
surlymoor
September 06

https://github.com/SdlangInitiative

Since SDLang is quite closely related to D, as D is one of the only real users of it, I felt this was "D appropriate" enough to post.

I personally think SDLang is much better than the likes of JSON, XML, and YAML for human-centered configuration files, so I had a drive for a few days to implement a library for a few languages:

  • C# (done previously before this)
  • TS/JS (^^)
  • C
  • F#
  • I've also forked sdlite just so it shows up in the group

And I wanted to get around to doing Python and Java before announcing anything.

However, as usual, I've already lost interest in the project, so this mostly here for whoever's interested in it now, since I put a decent amount of work in already.

There are also a few misc projects in there, which I was hoping to use as examples of how SDLang could be nice to work with:

  • sdlschema - Validate SDLang files against a schema.
  • sdlmake - A basic build system based around LUA and SDLang
  • sdltools - Was going to be a bunch of misc tooling such as generating large Sdlang files, finding the difference between two SDLang files (for implementation parity checks), etc.

I'll probably still do bits and pieces to it over time, but I think my main motivation for it is pretty much gone now.

All of the implementations are incomplete in one way or another, and their actual quality is dubious at best, so I'm not sure how useable most of them even are. I wanted to write a repo that made each implementation perform a test against the same test suite of SDLang files to try and ensure they're at a certain level of standard, but I couldn't be bothered.

Enjoy, maybe, or not, idk... sorry for the noise, but I didn't want to feel like I wasted the last week on this.

September 06

On 9/6/21 12:59 PM, SealabJaster wrote:

>

https://github.com/SdlangInitiative

Since SDLang is quite closely related to D, as D is one of the only real users of it, I felt this was "D appropriate" enough to post.

I personally think SDLang is much better than the likes of JSON, XML, and YAML for human-centered configuration files, so I had a drive for a few days to implement a library for a few languages:

  • C# (done previously before this)
  • TS/JS (^^)
  • C
  • F#
  • I've also forked sdlite just so it shows up in the group

And I wanted to get around to doing Python and Java before announcing anything.

However, as usual, I've already lost interest in the project, so this mostly here for whoever's interested in it now, since I put a decent amount of work in already.

Yeah, I have that problem sometimes too...

But I actually am using sdlang-d for configuration files on my web server. However, I do not like the interface for it very much. SDLang itself is OK, but I find actually that I don't love the format. Like yaml, I have to research how the file format works every time I want to use it (maybe just because I very rarely have need to edit sdl files). For that reason I prefer json, but I hate that json doesn't allow comments and is full of quote spam (for config files).

I am planning at some point to replace the config system with a json5 implementation (based on jsoniopipe), otherwise this would definitely interest me!

-Steve

September 08
On 9/6/21 2:01 PM, Steven Schveighoffer wrote:
> But I actually am using sdlang-d for configuration files on my web server. However, I do not like the interface for it very much. SDLang itself is OK, but I find actually that I don't love the format. Like yaml, I have to research how the file format works every time I want to use it (maybe just because I very rarely have need to edit sdl files). For that reason I prefer json, but I hate that json doesn't allow comments and is full of quote spam (for config files).
> 
> I am planning at some point to replace the config system with a [json5](https://json5.org/) implementation (based on jsoniopipe), otherwise this would definitely interest me!

I have finally come around to TOML as the best alternative for human-centered configuration. It seems to be really popular in Rust ecosystem.

I see 3 D libraries; haven't tested them but will with my next D project: https://code.dlang.org/search?q=toml

September 09

On Thursday, 9 September 2021 at 01:20:24 UTC, James Blachly wrote:

>

I have finally come around to TOML as the best alternative for human-centered configuration. It seems to be really popular in Rust ecosystem.

I see 3 D libraries; haven't tested them but will with my next D project: https://code.dlang.org/search?q=toml

I was using toml-foolery for one of my projects. It's quite nice; however, there might be too many dependencies for some people, and a RangeError will be thrown up to you during parsing if there's an empty string for a key's value. While the latter is probably easy to remedy, I switched to using JSON since asdf was already a dependency, and I'm lazy. Still, a big thanks to Andrej for the work.