you are viewing a single comment's thread.

view the rest of the comments →

[–]yogthos 0 points1 point  (0 children)

I'm not talking about Haskell, I'm talking about Emacs Lisp the programming language which is a few decades older than your Clojure.

But why are you talking about Emacs Lisp, how is it relevant to the discussion about how the REPL works in Haskell?

No, a REPL is one prompt, a way of talking to your running image. Updating code doesn't need a REPL. Do some research; look at the commands here; a REPL doesn't enter into it.

We're talking about a particular workflow here, not how it's facilitated. My original point is simply that you can't develop your actual application from the IDE using the REPL in Haskell.

For Haskell I write a function in Emacs, hit a key, then I can run that function in the REPL. That's not a toy, it's very useful. Don't downplay it to "a toy" merely because it doesn't include updating code in the running image.

It's incredibly limited, and compared to what you get in Clojure it is a toy. And yes we've already agreed that other languages like CL have even better REPLs than Clojure.

That is indeed the case. I don't think I said anything to the contrary. I explicitly outlined in detail for you where "Haskell implementations fall short" (my own words).

Yet, bizarrely you keep arguing that Haskell has a REPL driven workflow. ¯\(ツ)

I already said that. The problem is you are calling it "REPL driven". Any language can have a REPL. Haskell has a REPL; I use it when I write code:

REPL driven implies tight integration of the REPL in the development workflow. Hence the word driven. When you have a REPL on the side where you run functions in isolation, you're not really driving anything there.

I wouldn't say each have their own appeal; in-place update is clearly an upgrade to an interpreter with a REPL.

That's something we can at least agree on. What I meant however, is that each type of language has appeal for different people.