lua-patterns
tao-data-csharp
Our great sponsors
lua-patterns | tao-data-csharp | |
---|---|---|
1 | 1 | |
27 | 1 | |
- | - | |
0.0 | 1.8 | |
over 1 year ago | about 3 years ago | |
Rust | C# | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lua-patterns
-
The Norway Problem
If you want automatic built-in string validation, one option that seems particularly interesting is to use a variant of Lua patterns, which are weaker and easier to understand than regular expressions, but still provide a significant degree of "sanity" for something like an email. The original version works on bytes and not runes, but you could simply write a parser that works on runes instead, and the pattern-matching code is just 400 old and battle-tested lines of C89.
Lua patterns have also shown up in other places, such as BSD's httpd, and an implementation for Rust:
https://www.gsp.com/cgi-bin/man.cgi?section=7&topic=PATTERNS
tao-data-csharp
-
The Norway Problem
Still early, but here's my baby I hope can improve things:
website with grammar spec: https://tree-annotation.org/
prototype of a JSON/YAML alternative for JS: https://github.com/tree-annotation/tao-data-js
same thing, even less finished for C#: https://github.com/tree-annotation/tao-data-csharp
working on it constantly, more to come soon
What are some alternatives?
jsonnet - Jsonnet - The data templating language
cue - CUE has moved to https://github.com/cue-lang/cue
dhall-lang - Maintainable configuration files
edn - Extensible Data Notation
strictyaml - Type-safe YAML parser and validator.
yamllint - A linter for YAML files.
tao-data-js - TAO data JavaScript module
cson - CoffeeScript-Object-Notation. Same as JSON but for CoffeeScript objects.
toml.io - Source Code for toml.io