Typed Config Languages

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • dhall-lang

    Maintainable configuration files

  • cue

    The new home of the CUE language! Validate and define text-based and dynamic configuration (by cue-lang)

    As has come up in this thread already, any discussion of typed config languages nowadays that doesn't mention Cue (https://cuelang.org/) seems incomplete. They really seem to be tackling the problem in a thorough way. I hope it catches on.

    For anyone who knows more about Cue: right now you can go from Cue->yaml to integrate with existing systems, but I suppose eventually the goal would be to have direct support in libraries like Serde?

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • zaml

    The Final Form of configuration files

    Funny enough, I've implemented a config language that fits exactly this bill https://github.com/gilbert/zaml

    An example (also see it in the online editor[0]):

        users {

  • strictyaml

    Type-safe YAML parser and validator.

    I like the approach of strictyaml. A parser that concentrates on a restricted subset of yaml and allows to use a schema to have a type safe validator.


  • gura

    Gura configuration language

    If we're on the topic of config languages, I'd like to plug Gura (https://github.com/gura-conf/gura). It's not too well-known, but it probably has the best design I've seen, and seems to have a good coverage of languages with an available library.

  • config

    configuration library for JVM languages using HOCON files

    YAML allows comments, I'll give it that. But what I really want is splitting configuration into multiple files that can be imported to others. And substitutions. Basically HOCON known on the JVM as https://github.com/lightbend/config

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts