Ranked in these QuestionsQuestion Ranking
Pro Has Typeclasses and RankNTypes
Pro Type safety
Compiling should be your first unit test. A tight type system (static and hopefully strong) will catch many logic errors that are often difficult to spot through debugging. In languages like PureScript, if it compiles, it often runs properly.
Pro Modules can be compiled to CommonJS
Pro High performance FFI code
Pro Has row polymorphism and extensible effects
Pro Awesome web frameworks
Halogen (VDOM, similar to ELM)
And hit these up with Signals, Isolated/(Managed?) Components, powerful functions and FFI
Pro Checks to see if you check for Nulls
Because getting those exceptions is just not fun and very pervasive.
Pro Versioned type definitions
Pro There is support in many code editors via the extension
For example, there is good support through the extension in Visual Studio Code, which is a good editor for TypeScript, which is a competitor to Flow.
Pro Babel extension for strip of type annotations
Thanks to the Babel extension for the output, there is minimally modified code that is understandable to the author.
Con Lots of dependencies needed to get started
Purescript is written in Haskell, but meant to be used with Node.js. As a result, to get started , users must install ghc, cabal, node.js, grunt, and bower. Purescript also has its own compiler, and different semantics form Haskell, and so even after installing, there's still some overhead to getting productive with Purescript.
Con Restrictive FFI
Con Lack of good IDE/tooling support.
Con Slow compilation
On large project, for example Halogen
For example, there are definitions for Gulp, React.