Just tried to wrap my mind around 'standards', and, can't actually find it's place yet. From a pure practical point of view (code, toolkits), that's the pipe I end up with: policies -> specs -> templates -> validation. hope it helps,
g(edited)
@Anne vs the Gang At the moment, we're focused on developing a YAML-based modeling language for developing domain-specific language(s) (DSLs) for describing a framework for open-source hardware, as well as for describing project management, quality control, and configuration management standards (s.a., ISO 9001). We picked YAML as the syntax of choice for its compatibility with template languages (s.a., jinja2), ability to perform CRUD operations on, as well as its line-oriented human-readable asciitext for its compatibility with modern version control systems (s.a., git) and persistence on the local filesystem. Our first pass milestone is to develop the minimal language constructs needed to model a set of terms and acronyms.
6:37 PM
It's a volunteer effort, so more than happy to accept help, if you're interested
303adastra
@Anne vs the Gang At the moment, we're focused on developing a YAML-based modeling language for developing domain-specific language(s) (DSLs) for describing a framework for open-source hardware, as well as for describing project management, quality control, and configuration management standards (s.a., ISO 9001). We picked YAML as the syntax of choice for its compatibility with template languages (s.a., jinja2), ability to perform CRUD operations on, as well as its line-oriented human-readable asciitext for its compatibility with modern version control systems (s.a., git) and persistence on the local filesystem. Our first pass milestone is to develop the minimal language constructs needed to model a set of terms and acronyms.
Thanks for the insights, much appriciated. There's 'dhall' for this kind of scenarios (compiles to JSON & YAML, ...) as well. https://dhall-lang.org/
For anything beyond configuration task, I'm using an custom DSL based on Liquid-js (Typescript) - that allows easy binding of libraries, eg: unit conversion, etc..
Sounds amazing, can't wait ! (edited)
Needless to say, and just for the interested reader. Biggest pain remains, to have type safety across config / data files, and your scripting and/or markup language - well, and authoring aids as auto-completion (vscode plugins or web based IDEs). There are a couple of Typescript packages as 'class transformer', and the like but never got anything clean ..
Regarding typesafety, m30ml (the in-development modeling language for describing a standard) is building off LinkML - a modeling language for authoring YAML-based schemas, whose runtime includes schema validators https://linkml.io/linkml/
Though, we've found the runtime implementation to be a bit lacking, as it struggles a bit with validating behaviors we need, s.a., polymorphism, so we're in the process of having to reimplement parts of the runtime
There's now VSCode for the Web : https://insiders.vscode.dev/. To enable version control, you could use Gitea API, as VFS - I've got a prototype for GitHub as well
Kept scratching my head ( i am soo & too excited about ) - what's the objective for 'Open Standards' (OSHW wise) ? Is it writing standards, or just defining standards for OSHW ? Either way, this is a deep rabbit hole, in many aspects. Here for instance ISO : http://files.osr-plastic.org/files/resources/standards/ISO/ - a nightmare to redo, and maintain.
5:38 PM
I think in most DIY'ish / Semi-Pro scenarios, a best practice guide to jump start OSHW project might do just fine. That are the artefacts I came across
at the moment, m30ml is being developed as a minimal modeling language needed to CRUD and persist an open standard (and its implementation) on the local filesystem. You can read about it or watch this presentation that was given at the Southern California Linux Expo that explains how it can about https://www.socallinuxexpo.org/scale/20x/presentations/fire-smoke-and-open-source-hardware(edited)
As far as editing, we put together an "immutable-infrastructure-as-code" (IIaC) workspace / dev environment containing the necessary tooling (s.a., the linkml runtime) specifically for development of the language https://github.com/mach30/kasm-dof-workspace
at the moment, m30ml is being developed as a minimal modeling language needed to CRUD and persist an open standard (and its implementation) on the local filesystem. You can read about it or watch this presentation that was given at the Southern California Linux Expo that explains how it can about https://www.socallinuxexpo.org/scale/20x/presentations/fire-smoke-and-open-source-hardware(edited)