3 ms·
Scala for example is statically typed and had a REPL from day 1. However, when using a language with a great typesystem, the need for a REPL is just much less.
by valenterry 6y ago
Scala for example is statically typed and had a REPL from day 1.
However, when using a language with a great typesystem, the need for a REPL is just much less. You mostly don't need to try things out because the types guide you. Therefore these languages might have a REPL and it might be useful, but REPL-driven is not really necessary.
> I always wish that it would become unnecessary to have to choose between stability and extensibility
Stability, extensibility, low language-complexity. Pick 2.
- jim90 6y agoI'd argue Clojure has all 3 Stability - one of Clojure's core tenets. Low language complexity - not much more than EDN and everything is an expression, plus a few extras like destructuring. Certainly simpler than any other language I have used. Extensibility - again, one of Clojure's strong points with macros. As for "Type systems removing the value of a repl" again, I disagree. Repl driven development is as much about exploring the problem than it is writing code.
- valenterry 6y agoStability in this context means "can make changes with confidence in the absence of tests". The more confident you can be, the more stable. Maybe not the right word though. > Repl driven development is as much about exploring the problem than it is writing code. Which is exactly what types give you. This even coined the term "type driven development" (same as "test driven development" on purpose").
- tome 6y ago> Stability in this context means "can make changes with confidence in the absence of tests". The more confident you can be, the more stable. Maybe not the right word though. I'd call it "robustness".