3 ms·
"This would make functions second-class. [...] Is that really much of a loss?" Yes! A huge loss. The cons of live programming don't even come close to outweighi
by davexunit 3y ago
"This would make functions second-class. [...] Is that really much of a loss?" Yes! A huge loss. The cons of live programming don't even come close to outweighing the pros. You can always fallback to edit-compile-restart if you need to.
- 082349872349872 3y agoCould a two-level semantics provide a spot in the middle? Closures and continuations would capture an abstract control-flow and set of data-demands; this skeleton could not be updated, but specific implementations of it could be swapped out freely.
- nine_k 3y agoDo you often need non-trivial lambdas that you completely construct at runtime? Second-class functions can still be passed around. They just can't be constructed at runtime, you would have to declare them. Maybe some "first-and-a-half order" approach to functions could work. You could still declare lambdas in place, but they won't have direct access to anything local to your function; instead of a closure, everything needed would have to be passed as a parameter. It could even allow partial application using local variables; values wound just be copied, not closed over.
- davexunit 3y ago> Do you often need non-trivial lambdas that you completely construct at runtime? Yes. It's very common to have a function that returns another function. It's a pretty critical feature.