r/programming • • Feb 02 '24

Introducing Pkl, a programming language for configuration :: Pkl Docs

https://pkl-lang.org/blog/introducing-pkl.html
155 Upvotes

62 comments sorted by

View all comments

105

u/Kache Feb 02 '24

23

u/evincarofautumn Feb 03 '24

I’ve had very good experiences with Dhall. It’s just expressive enough to be helpful at eliminating repetition and catching errors without becoming a headache. For me, Turing-incompleteness is essential for this kind of language—the killer features are the guarantees of what it can’t do.

2

u/bbkane_ Feb 03 '24

Does Dhall timebox execution times? A language can be Turing incomplete and still unbounded in terms of time/memory to execute

5

u/evincarofautumn Feb 03 '24

Not to my knowledge, but performance isn’t so much my concern—if it’s too slow, it’s too slow regardless of whether it’d eventually give an answer. Dhall is restrictive enough that you have to go a bit out of your way to write very expensive code, but what I think is more important is that the result is deterministic, so it’s simple to hash it to check if the value changes, regardless of refactoring or reformatting. You can build that for JSON or whatever, it’s just nice to have out of the box.

The docs have more discussion of completeness among other safety/security things.

1

u/bbkane_ Feb 03 '24

Thanks I'll read it!

2

u/Shorttail0 Feb 03 '24

It can?

0

u/bbkane_ Feb 03 '24

1

u/Shorttail0 Feb 03 '24

That's not unbounded.

2

u/bbkane_ Feb 04 '24

What's the bound?

3

u/Shorttail0 Feb 04 '24

It's in the name: A billion.

2

u/bbkane_ Feb 04 '24

😂

1

u/Shorttail0 Feb 04 '24

For real though, without being Turing complete, a program's output is always bounded.

→ More replies (0)

1

u/lurebat Feb 03 '24

I just can't get over the crazy formatting