rcl
A reasonable configuration language (by ruuda)
pkl-go
Pkl bindings for the Go programming language (by apple)
rcl | pkl-go | |
---|---|---|
19 | 3 | |
237 | 275 | |
8.4% | 0.7% | |
9.5 | 7.7 | |
17 days ago | 16 days ago | |
Rust | Go | |
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.
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.
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 2025-03-15.
-
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
-
jq VS rcl - a user suggested alternative
2 projects | 15 Mar 2025
RCL can query json documents on the command line, with a more intuitive language than jq. See https://rcl-lang.org/#intuitive-json-queries and https://docs.ruuda.nl/rcl/rcl_query/.
-
Ask HN: What Are You Working On? (February 2025)
I'm working on adding floats to the RCL configuration language (https://rcl-lang.org/) to finally deliver on the json superset promise. Blog post coming soon!
- Be Aware of the Makefile Effect
-
JSON5 – JSON for Humans
If you're looking for a human-friendly json superset (comments, non-quoted keys) that can also abstract away repetitive configuration with variables and list comprehensions, check out https://rcl-lang.org/.
-
Advent of Code 2024
This has been a good driver for me to add features to https://rcl-lang.org/. I just added List.sort for today’s problem.
-
Ask HN: What are you working on (August 2024)?
The RCL configuration language, https://rcl-lang.org / https://github.com/ruuda/rcl. Lately I'm working on support for floats to complete the json superset promise. Also I added a shorthand for "query --format=raw" to make it more useful as a jq replacement.
pkl-go
Posts with mentions or reviews of pkl-go.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-06-25.
-
Show HN: Glasskube – open-source Kubernetes Package Manager, alternative to Helm
I don't believe that's true, they have pkl in other languages, too, and I double checked it doesn't require the jre https://news.ycombinator.com/item?id=40146077 (tl;dr = https://github.com/apple/pkl-go/blob/v0.6.0/.circleci/config... which shows both pkl-go as well as how they, themselves, use a single-binary in a circleci setup)
I haven't tried to integrate pkl-go into something like glasskube so I am open to that part being painful because software gonna software, but I believe the general statement of pkl being Java-only is incorrect
-
HCL: Toolkit for Structured Configuration Languages
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'
-
Apple releases Pkl – onfiguration as code language
sadly the Go implementation is bloated as hell:
https://github.com/apple/pkl-go/blob/main/go.sum
no thank you.
What are some alternatives?
When comparing rcl and pkl-go you can also consider the following projects:
Ptah.sh - Self-hosted alternative to Heroku
bcl - Basic Configuration Language
jaq - A jq clone focussed on correctness, speed, and simplicity
graalvm-demos - This repository contains example applications to illustrate the different capabilities of GraalVM
vegafusion - Serverside scaling for Vega and Altair visualizations
homelab - Configuration-as-code for my homelab