3 ms·
> First of all, the problem isn't that it's "compiled" - Python is "compiled" too, but still has one of the best REPLs available. In a way it is. For a REPL yo
by dan00 8y ago
> First of all, the problem isn't that it's "compiled" - Python is "compiled" too, but still has one of the best REPLs available.
In a way it is. For a REPL you most likely need an interpreter for your
language, like Cling is for C++.
- unwind 8y agoIt can be argued that "compiled/interpreted" is not a property of programming languages, but of programming language implementations.
- crypto-jeronimo 8y agoI second this.
- gilgoomesh 8y agoYou don't need an interpreter for a REPL. Swift's REPL performs line-at-a-time compilation, running the program to that line and suspending it until you write and compile another line.
- coldtea 8y ago>You don't need an interpreter for a REPL. Swift's REPL performs line-at-a-time compilation Isn't that another way to say "interpreter"?
- notacoward 8y agoFor all practical purposes, yes. In the strictest technical sense it's a form of JIT compilation, but that can be considered an optimization or implementation technique. If the user doesn't perceive a separate compilation step, it's effectively an interpreter and only a dedicated pedant would "well actually" that it's compilation.
- creatornator 8y agoNot really. An interpreter doesn't convert the language syntax tree into machine code, instead it just performs the operations. It sounds like Swift's REPL actually converts the lines into opcodes and runs those.