Hacker News new | ask | show | jobs
by tikhonj 3224 days ago
I don't think there's anything fundamental about a compiled language that prevents it from having a REPL. (If anything, you could always have a dedicated interpreter for interactive work—"compiled" and "interpreted" are functions of the implementation, no the language.)

In practice the compiled languages I've used extensively (OCaml and Haskell) do have REPLs, but ones that aren't nearly as powerful as some other languages. I'm not sure exactly why it's the case, but I certainly don't think it's impossible for them to have good REPLs. My guess is that there are some properties of the languages that make a good REPL a bit more difficult to implement, and there simply hasn't been enough community investment to overcome that.

I wish there was because I basically live in GHCi (Haskell's REPL) and sorely wish for a few core improvements like hot loading updated code when possible.

1 comments

> If anything, you could always have a dedicated interpreter for interactive work

CMUCL does that. There's an interpreter that's used for the REPL and optionally for loading files on the fly, and an optimizing AOT compiler.

SBCL drops the interpreter and just runs the compiler with settings that make it reasonably fast for interactive use as I recall. Clojure, too just uses the compiler interactively and not a separate interpreter.

I wonder how do that. I'm building a language that truly will benefit for a REPL (is for database development) but also do it compiled simplified other things.

Is done on .NET/F#. I wonder how architect the thing so I can have a good repl yet compiled... but how?

Since more than a few language implementations already do things like that, I'm inclined to say that's more or less a solved problem.
Yeah, but I have not find a resource that explain how is done.
I think is probably an RTFS sort of topic, as there may not be a manual.
RTFS? What this mean?

Is like "some inside knowledge" but undocumented?

I hope jetbrain will do something magic on repl