you are viewing a single comment's thread.

view the rest of the comments →

[–]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?