Introducing Pkl, a programming language for configuration - eviltoast
    • abhibeckert@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      9 months ago

      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"]
      }
      
    • canpolat@programming.devOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      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.

      • Lynxtickler@sopuli.xyz
        link
        fedilink
        arrow-up
        4
        ·
        9 months ago

        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?

          • Lynxtickler@sopuli.xyz
            link
            fedilink
            arrow-up
            1
            ·
            9 months ago

            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.

        • canpolat@programming.devOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          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.