pkl VS rcl

Compare pkl vs rcl and see what are their differences.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
pkl rcl
20 28
11,384 383
0.5% 2.3%
9.4 9.0
7 days ago 11 days ago
Java Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

pkl

Posts with mentions or reviews of pkl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-03-28.
  • Pkl from Apple: configuration as code language with rich validation and tooling
    1 project | news.ycombinator.com | 31 May 2026
  • Pkl Has a Free API — Apple's Configuration Language That Validates Before Deploy
    2 projects | dev.to | 28 Mar 2026
    Pkl solves the "bad config in production" problem:
  • MAML – a new configuration language (similar to JSON, YAML, and TOML)
    6 projects | news.ycombinator.com | 12 Oct 2025
    The other deserving a mention is Pkl. Common denominator of being backed by a FAANG and having a lot of real world use.

    https://github.com/apple/pkl

  • Configuration files are user interfaces
    2 projects | news.ycombinator.com | 18 Sep 2025
    Apple has a similar project called Pkl which they use for their internal cloud configuration. http://pkl-lang.org/

    It can be converted to JSON, yaml, and a bunch of other formats, and whilst it looks a bit like JSON it's actually a full blown functional programming language designed for creating config trees. The nice thing about Pkl is that it's got full IDE support and the standard library is patterned after Kotlin. So all the method names are very obvious and intuitive especially if you know Java or Kotlin. It has lots of features for validation like range types and so on, so you can get a lot of semantic checking before any config is emitted. It's the first config-as-language language I've seen that is actually good.

    KSON looks more like an alternate syntax than a language, which is fine, but because JSON/YAML are just data structures sometimes you really want to do a for loop.

  • JSON5 – JSON for Humans
    21 projects | news.ycombinator.com | 8 Dec 2024
    When I manage a project and have the freedom to choose my configuration structure, then I always use typescript. I never understood the desire to have configuration be in ini/json/jsonnet/yaml. A strongly typed configuration with code completion seems so much more robust. Except of course your usecase is to load or change the config via an API.

    I like what apple is doing with https://pkl-lang.org/ though.

  • New better alterative to XML, JSON and YAML
    2 projects | news.ycombinator.com | 3 Nov 2024
  • Thoughts on ThoughtWorks Radar 2024
    12 projects | dev.to | 2 Nov 2024
    I was first turned onto Pkl during my Dhall Trough of Disillusionment phase (Dhall is cool, but man is it hard) by James Ward. It looked to be a language that had enough types to compile YAML/JSON configuration files wayyyy more safely. I’ve had enough YAML/JSON misconfigurations break production, that I started looking into ways to compile those problems away, and Dhall helped a lot, but the learning curve and compiler errors are brutal to work through, and I never got excitement amongst peers. Hoping Pkl makes in-roads here.
  • HCL: Toolkit for Structured Configuration Languages
    8 projects | news.ycombinator.com | 23 Apr 2024
    https://github.com/apple/pkl-go/blob/v0.6.0/.circleci/config... seems to imply it's "curl && chmod" so maybe you're thinking of developing pkl itself?

    I happened to have a container that I am certain contains no Java and it fired right up

      $ docker run -it --rm --entrypoint=/usr/bin/env public.ecr.aws/aws-cli/aws-cli:2.15.38 bash -c 'curl -fsSLO https://github.com/apple/pkl/releases/download/0.25.3/pkl-linux-aarch64; chmod a+x pkl-linux-aarch64; ./pkl-linux-aarch64 --help'
  • Exploring Pkl: Apple's Fresh Approach to Configuration Languages
    2 projects | dev.to | 29 Feb 2024
    Pkl Official Documentation
  • Apple Pkl
    3 projects | news.ycombinator.com | 22 Feb 2024
    Very cool!

    You might want to consider also publishing a schema for it too, as a Pkl package. The package can simply be published as a GitHub release (see details in this post here: https://github.com/apple/pkl/discussions/85#discussioncommen...)

rcl

Posts with mentions or reviews of rcl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-01-02.
  • FracturedJson
    16 projects | news.ycombinator.com | 2 Jan 2026
    RCL (https://github.com/ruuda/rcl) pretty-prints its output by default. Pipe to `rcl e` to pretty-print RCL (which has slightly lighter key-value syntax, good if you only want to inspect it), while `rcl je` produces json output.

    It doesn’t align tables like FracturedJson, but it does format values on a single line where possible. The pretty printer is based on the classic A Prettier Printer by Philip Wadler; the algorithm is quite elegant. Any value will be formatted wide if it fits the target width, otherwise tall.

  • The RCL Configuration Language
    1 project | news.ycombinator.com | 14 Oct 2025
  • Ask HN: What Are You Working On? (September 2025)
    121 projects | news.ycombinator.com | 29 Sep 2025
  • The YAML Document from Hell
    6 projects | news.ycombinator.com | 23 Sep 2025
    The author of this article created RDL:

    > RCL is a domain-specific language for generating configuration files and querying json documents. It extends json into a simple, gradually typed, functional programming language that resembles Python and Nix.

    https://github.com/ruuda/rcl

    https://rcl-lang.org

  • A Common Lisp jq replacement
    8 projects | news.ycombinator.com | 2 May 2025
    If like me you can do basic queries in jq, but as soon as it gets slightly more complex (e.g. filter objects where some nested property that may not exist has a particular value), you wish you could do it with familiar Python/Rust/Javascript-like expressions and map/filter, try https://rcl-lang.org/#intuitive-json-queries.
  • The Pain That Is GitHub Actions
    39 projects | news.ycombinator.com | 19 Mar 2025
    If you have to deal with tools that need to be configured with yaml, give https://rcl-lang.org/ a try! It can be "coded" to avoid duplication, with real variables, functions, and loops. It can show you the result that it evaluates to. It can do debug tracing, and it has a built-in build command to generate files like GitHub Actions workflows from an RCL file.
  • cue VS rcl - a user suggested alternative
    2 projects | 15 Mar 2025
    Cue and RCL are both json supersets, though in very different ways. Cue is based on graph unification, while RCL is a more traditional functional language. Both are typed, though the type systems are very different. Like RCL, Cue can be used to query json documents, but in RCL this is a first-class feature with similar ergonomics to jq.
  • jsonnet VS rcl - a user suggested alternative
    2 projects | 15 Mar 2025
    Jsonnet is quite similar to RCL: both are json supersets that add variables and functions in similar ways. Jsonnet is dynamically typed, while RCL features an optional gradual type system. Where Jsonnet draws inspiration from Go, RCL draws inspiration from Python and Rust.
  • nickel VS rcl - a user suggested alternative
    2 projects | 15 Mar 2025
    Like Nickel, RCL is a gradually typed functional configuration language. Where Nickel has Haskell-like syntax, RCL has C/Rust/Javascript-like syntax with inspiration from Python.
  • dhall VS rcl - a user suggested alternative
    2 projects | 15 Mar 2025

What are some alternatives?

When comparing pkl and rcl you can also consider the following projects:

hcl - HCL is the HashiCorp configuration language.

wadec - A WebAssembly binary format decoder / parser

bcl - Basic Configuration Language

jaq - A jq clone focussed on correctness, speed, and simplicity

jsonnet - Jsonnet - The data templating language

Ptah.sh - Self-hosted alternative to Heroku

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured