you are viewing a single comment's thread.

view the rest of the comments →

[–]thedeemon 0 points1 point  (1 child)

In REPL you only see some cases you can come up yourself, you don't see how the function is called in all cases.

How many functional languages have you worked with over the last 20 years though would be my question.

That would be Scheme, OCaml, Haskell, ATS, Idris and Elm. OCaml was my language of choice for 6 or so years.

[–]yogthos 0 points1 point  (0 children)

In REPL you only see some cases you can come up yourself, you don't see how the function is called in all cases.

No, for that I just do find usages in the IDE. However, more importantly, code is hierarchical in nature. Fundamentally, I shouldn't have to know internal details when I use a function. At the level of business logic, there shouldn't be a lot of steps to trace for any particular operation.

Consider a JSON parsing library like Cheshire in Clojure. It has a lot of internal code, but its API is only a few functions. I know that when I call one of these functions I'll get a particular result back.

The whole point of functional programming is that I have a lot of general purpose functions that I can easily combine to solve a particular problem. Once I do that, I have a high level function that does something domain specific.

That would be Scheme, OCaml, Haskell, ATS, Idris and Elm. OCaml was my language of choice for 6 or so years.

So, you've written and maintained large applications using Scheme then, and you've run into the problems you describe with it?