SAN

Languages and libraries

configuration file format

SHOW HN2018

45points
64comments
#830of 2,155 in 2018
Top 39%of 2018 by points

How HN took it

CuriousMostly questions and neutral comments

7 positive, 21 neutral or asking, 2 mixed, 12 critical, out of 42 comments about the project. Thread score -0.26.

Design: 3 for, 7 againstIdea: 2 for, 3 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Comments preserved so programs can edit files safely

    From 2 comments
    • Hi author here. We've created a new file format designed specifically for configuration: SAN (pronounce /seɪn/ like sane). You can find a Go parser here:…
      z0mbie42 on HN
    • This looks great. I love the strictness and improvements over JSON and also the goal of preserving comments. The absence of specified a date type feels like a back compared to…
      wezm on HN
  • Strictness and trailing comma idea appreciated

    From 2 comments
    • This is indeed very sane. One thing I personally would change is making a trailing comma in multiline lists obligatory, like in Go. I hope this gains traction, so that I could…
      ainar-g on HN
    • This looks great. I love the strictness and improvements over JSON and also the goal of preserving comments. The absence of specified a date type feels like a back compared to…
      wezm on HN

Objections

  • Name pronunciation and existing SAN abbreviation (Storage Area Network)

    From 3 comments
    • > SAN (pronounce /seɪn/, like sane) No, absolutely not.
      playpause on HN
    • 1. SAN is an already used an abbreviation for something that has been in the tech world for a while, and well, would be hard to search for. 2. No multi-line support? What about…
      xellisx on HN
    • This feels a lot like HashiCorp configuration language[0]. But more standards[1] are always welcome ;) [0] https://github.com/hashicorp/hcl [1] https://xkcd.com/927/
      jcwayne on HN
  • Too similar to HCL with little new value

    From 3 comments
    • This looks a lot like HCL (https://github.com/hashicorp/hcl).
      rayredd on HN
    • This feels a lot like HashiCorp configuration language[0]. But more standards[1] are always welcome ;) [0] https://github.com/hashicorp/hcl [1] https://xkcd.com/927/
      jcwayne on HN
    • Thanks for including a comparison page[0]! I'm not sure I buy that it's a large improvement over TOML -- In practice I haven't found the homogeneous list requirement to be an…
      hardwaresofton on HN
  • Curly braces and non-indentation syntax are unfriendly

    From 2 comments
    • Human friendly with curly braces? I don't buy it. I would never unleash a curly braces syntax on a non-developer. And if it's a format for developers then there are already…
      andybak on HN
    • I think semantic identation is very intuitive to non-developers. It's used in print everywhere. I think there's a touch of Stockholm syndrome in your belief otherwise. You have…
      andybak on HN
  • Homogeneous lists and lack of null limit compatibility

    From 2 comments
    • Interesting, but the first thing I checked was if it allows list elements to have different types. And it doesn't. That was one issue I had with TOML, because the allowed data…
      chme on HN
    • The other way SAN isn't json compatible is lack of null. As for heterogenous list types, great reason to have them is when your list is logically the same type but physically…
      epage on HN

Requests

  • Allow tabs for indentation

    From 2 comments
    • More sane than TOML, and far more sane than YAML. Tabs would be more sane for indentation: one tab, one indentation level. Also, it would match gofmt, if that matters to you.
      oftenwrong on HN
    • Here's the github issue for that. Looks like they are starting to come around to the idea: https://github.com/astrocorp42/san/issues/3
      IshKebab on HN
  • Add a date type

    From 1 comment
    • This looks great. I love the strictness and improvements over JSON and also the goal of preserving comments. The absence of specified a date type feels like a back compared to…
      wezm on HN
  • Make trailing commas obligatory in multiline lists

    From 2 comments
    • This is indeed very sane. One thing I personally would change is making a trailing comma in multiline lists obligatory, like in Go. I hope this gains traction, so that I could…
      ainar-g on HN
    • > One thing I personally would change is making a trailing comma in multiline lists obligatory Can I ask you why?
      izietto on HN
  • Allow heterogeneous lists

    From 2 comments
    • The other way SAN isn't json compatible is lack of null. As for heterogenous list types, great reason to have them is when your list is logically the same type but physically…
      epage on HN
    • I used lists to build my own include concept in yaml like so: ``` includes: - relative-include-file.yml - url: git://stuff.git file: git-included-file.yml ``` Not possible here.…
      chme on HN

Questions

  • What are the advantages over TOML, YAML and JSON5?

    From 3 comments
    • Why another serialization format? What are the advantages over TOML/YAML?
      ortuman on HN
    • What are the benefits over JSON5?
      wattengard on HN
    • Thanks for including a comparison page[0]! I'm not sure I buy that it's a large improvement over TOML -- In practice I haven't found the homogeneous list requirement to be an…
      hardwaresofton on HN
  • How does it differ from HCL?

    From 1 comment
    • Could you elaborate on the differences to HCL? It looks almost the same on first glance. Maybe minus functions and and nested blocks in HCL.
      phaer on HN

Alternatives named

  • HCL (HashiCorp configuration language)

    From 2 comments
    • This looks a lot like HCL (https://github.com/hashicorp/hcl).
      rayredd on HN
    • This feels a lot like HashiCorp configuration language[0]. But more standards[1] are always welcome ;) [0] https://github.com/hashicorp/hcl [1] https://xkcd.com/927/
      jcwayne on HN
  • JSON5

    From 2 comments
    • What are the benefits over JSON5?
      wattengard on HN
    • 1. SAN is an already used an abbreviation for something that has been in the tech world for a while, and well, would be hard to search for. 2. No multi-line support? What about…
      xellisx on HN
  • TOML

    From 2 comments
    • Thanks for including a comparison page[0]! I'm not sure I buy that it's a large improvement over TOML -- In practice I haven't found the homogeneous list requirement to be an…
      hardwaresofton on HN
    • Interesting, but the first thing I checked was if it allows list elements to have different types. And it doesn't. That was one issue I had with TOML, because the allowed data…
      chme on HN
  • SDLang

    From 1 comment
    • If you are looking for a YAML alternative, https://sdlang.org is also worth considering. It's a bit richer.
      akvadrako on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/18023105)