www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - [Semi-OT] Sdlang Initiative

reply SealabJaster <sealabjaster gmail.com> writes:
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:


* TS/JS (^^)
* C

* 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.
Sep 06 2021
parent reply Steven Schveighoffer <schveiguy gmail.com> writes:
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:
 

 * TS/JS (^^)
 * C

 * 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](https://json5.org/) implementation (based on jsoniopipe), otherwise this would definitely interest me! -Steve
Sep 06 2021
parent reply James Blachly <james.blachly gmail.com> writes:
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
Sep 08 2021
parent surlymoor <surlymoor cock.li> writes:
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.
Sep 08 2021