one of the advantages of functional languages, especially typefaggy ones, is that it makes program analysis, proving shit and finding bugs at compile-time easier. this is all fine and good but why is there almost no tooling that takes advantage of it? IDEs and debuggers are years behind mainstream shit like Java, and that's even without getting into proprietary IDEs and code-reading tools for C or Lisp.
inb4 you don't need tools because the language itself, REPL and compiler are enough. not only is it bullshit because tracing the exectuion of even a mildly complex program is difficult regardless of the language (as it's the algorithm itself that is complex), it's also bullshit because compilers for dead dog and dead camel tend to spew out cryptic, overly-abstract messages that aren't trivial to connect with concrete bugs. IDE and debugger that understand your're are code are a big win for any practical programming task
Name:
Anonymous2019-01-16 8:45
type script
Name:
Anonymous2019-01-16 16:37
>>1 Did you search for yourself? Haskell, Agda, Coq, and OCaml all have an emacs mode of their own which works just fine. OCaml has things like utop, Coq has coqide, Haskell has a shit-ton of tools for profiling, etc.
compilers for dead dog and dead camel tend to spew out cryptic, overly-abstract messages
I do not know about OCaml but this is certainly not true for Haskell.
Name:
Anonymous2019-01-17 6:35
OCaml recently got very good IDE support (squiggly lines on errors and warnings, types and documentation on hover, rename symbol) with merlin. I'm not very familiar with ocamldebug but it's being actively worked on, and there's tooling for AFL and memory profiling built into the standard installation, not as good as Java but it's still something. Utop (the repl) is also much better than most repls, it has syntax highlighting and very nice autocompletion.
Name:
Anonymous2019-01-17 7:37
>>3 emacs mode is a bare minimum when it comes to tooling, not comparable by itself with a good modern IDE, unless it's something like SLIME. but most emacs modes are not SLIME. a good example of an IDE for a functional langs would be Visual Studio for F#, and if we step outside of the typefaggy stuff: Dr. Racekt for Racket and LightTable for Clojure (if it wasn't abandoned).
the main reason people build static analysis tools is to test and debug their code. functional programming users don't need this because they don't write code, only forum posts.
>>9 I have not written any codans since PASCAL in high school, i have no idea what's going on here.
Name:
Anonymous2019-01-19 17:18
tooling? moar like trolling
Name:
Anonymous2019-01-19 22:08
OCaml is one of the languages with better tooling, because there are companies like Jane Street actively use it.
There is no good ide, because everyone just uses emacs. but with tuareg and merlin mode you get: - autocompletion - on the fly compilation with highlighted errors - interface for ocamldebug (although I admit it's not as nice as e.g. eclipse or visual studio) - hints in the minibuffer that shows the type of the function you're currently using Additionally you can use qcheck for property/unit testing.