The basic point is to have something akin to lambda-calculus that can equally account for both strict and lazy evaluation strategies, in a way that doesn't unduly sacrifice expressiveness for one or the other. (Compare the ML family of languages and Haskell, where strict and lazy evaluation respectively are idiomatic. You can express lazy evaluation in a ML and strict evaluation in Haskell, but only in clunky ways that don't align with the overall logic of the language. CBPV and other comparable formalisms aim to resolve this.)
One language that uses CBPV is Forsp: https://news.ycombinator.com/item?id=40633003
Is there an FP/Lambda calculus cogniscenti willing to translate this into ordinary humanese?
This article was previously on HN and is a good explainer: https://thunderseethe.dev/posts/bet-on-cbpv/
HN discussion: https://news.ycombinator.com/item?id=39653895
Thanks!
I'm Betting on Call-by-Push-Value - https://news.ycombinator.com/item?id=39653895 - March 2024 (64 comments)
It looks like a lambda calculus with effectful computations that can model imperative programming. I hadn't heard of it before either.
https://en.wikipedia.org/wiki/Call-by-push-value
The basic point is to have something akin to lambda-calculus that can equally account for both strict and lazy evaluation strategies, in a way that doesn't unduly sacrifice expressiveness for one or the other. (Compare the ML family of languages and Haskell, where strict and lazy evaluation respectively are idiomatic. You can express lazy evaluation in a ML and strict evaluation in Haskell, but only in clunky ways that don't align with the overall logic of the language. CBPV and other comparable formalisms aim to resolve this.)
[flagged]
This looks like an product comparison from Amazon.
I can't believe a human wrote this and thought it was a good explanation.
GP is using LLMs because he's recovering from a stroke.
Did you just post something ChatGPT wrote?