Introducing Pkl, a programming language for configuration

canpolat@programming.dev to Programming@programming.dev – 36 points –
pkl-lang.org
19

You are viewing a single comment

Was there anything particularly wrong with json schema? Aside from being a validator and not a “language”.

https://json-schema.org

Pkl is a hell of a lot easier to work with. Compare this pkl code:

host: String
port: UInt16(this > 1000)

To the equivalent in json:

{
  "$schema": "http://example.org/my-project/schema#",
  "type": "object",
  "properties": {
    "host": {
      "type": "string"
    },
    "port": {
      "type": "number",
      "minimum": 1000,
      "exclusiveMinimum": true
    }
  },
  "required": ["host", "port"]
}

I just learned about Pkl, so take this with a grain of salt. JSON Schema and Pkl seem to have some overlap. But JSON schema is not specifically designed for handling configuration and Pkl supports other formats like YAML.

JSON schema supports YAML as well, no? That's because JSON and YAML are both essentially just different syntaxes for writing the same objects right?

It's the other way around. The YAML schema supports JSON because YAML was designed as a superset of JSON.

@Lynxtickler @canpolat

I get where you're coming from, but JSON Schema still absolutely is the framework that supports YAML files and not the other way around. I've been using JSON Schema pretty heavily lately to write schemas using YAML, for validating YAML.

Possibly. My point is: despite having a common subset Pkl and JSON schema doesn't seem to be solving the same problems. But, I'm just learning about it, so I may just be wrong.