Compare Nickel and KCL? #1582
-
The KCL docs compare KCL with Nickel: https://kcl-lang.io/docs/user_docs/getting-started/intro/#vs-nickel Can anyone here (at Nickel) take a pass at comparing Nickel and KCL? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
I looked into KCL a little today. There are several similarities: both languages have user-extensible runtime checks (contracts in nickel; schemas/protocols in KCL), mergeable records, and static types. The KCL typesystem feels more nominal and object-oriented than nickel's:
But I think the big difference is in the approach to laziness. AFAICT, none of KCL's runtime checks are lazy and so you can't do the thing (which is intended to be idiomatic in nickel) where you apply a contract that isn't fully satisfied "yet" because it will be satisfied after merging in some other records "later" |
Beta Was this translation helpful? Give feedback.
I looked into KCL a little today. There are several similarities: both languages have user-extensible runtime checks (contracts in nickel; schemas/protocols in KCL), mergeable records, and static types.
The KCL typesystem feels more nominal and object-oriented than nickel's:
But I think the big difference is in the approach to lazin…