Recs.
Updated
SpecsUpdate
Pros
Pro High performance FFI code
The Eff monad, which is used for FFI code, optimizes out calls to bind, and supports tail call optimization, resulting in clean, efficient Javascript. The psc compiler also specifically recognizes the ST monad, and transforms scoped variables into mutable Javascript variables, for even more efficient code.
Pro Thorough documentation
The Purescript website has fairly thorough documentation for all of the language's features, and the Purescript blog contains several examples of practical usage, and Pursuit contains the reference documentation.
Pro Multiple (experimental) compilation targets
Experimental backends exist for C++11 (pure11), Lua, Python and the JVM, and PureScript has been used successfully on iOS and Android (via React Native) and AWS Lambda.
Cons
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 Node.js (the PureScript compiler itself can be installed via NPM). In addition, PureScript has different semantics from Haskell, and so even after installing, there's still some overhead to getting productive with PureScript.
Con Restrictive FFI
Functions exported are all curried, and must be called as such from Javascript. The FFI syntax for importing Javascript functions, while slightly simpler and more readable than UHC/Fay's, means that calls to methods on objects must be wrapped to pass the object explicitly as a parameter.