When comparing Utrecht Haskell Compiler vs PharoJS, the Slant community recommends Utrecht Haskell Compiler for most people. In the question“What are the best solutions to "The JavaScript Problem"?” Utrecht Haskell Compiler is ranked 18th while PharoJS is ranked 20th. The most important reason people chose Utrecht Haskell Compiler is:
No need to learn any new semantics, it's just a switch to a different compiler.
Ranked in these QuestionsQuestion Ranking
Pros
Pro It's just Haskell
No need to learn any new semantics, it's just a switch to a different compiler.
Pro Flexible FFI
UHC uses a printf-like syntax for its FFI, which is flexible enough to minimize the need for wrapper functions, when, e.g., calling methods on objects. It also supports %*
, for working with functions that take arbitrary parameters, such as concat
.
UHC also has support for wrapper imports and dynamic imports, for passing Haskell functions as callbacks to Javascript, or dealing with curried Javascript functions, respectively.
Pro Program the web in Smalltalk
For people who enjoy programming in Smalltalk, Pharo allows developers to use Smalltalk for web development as well, since it transpiles Smalltalk code to JavaScript.
Pro Support for Phonegap to go directly to iOS/Android mobile App
Pro Compiles to very efficient Javascript, with almost perfect Smalltalk semantics
Pro Great IDE support
Pro Seamless integration with JavaScript libraries
Can directly call to / be called from JavaScript and can use foreign JavaScript objects.
Will soon have ability to generate and use AMD modules.
Cons
Con No support for Language Extensions
No support for things like Arrow Syntax - this is particularly a disadvantage when compared to options like Elm (which was designed around good syntax for Arrowized FRP), if you're looking to do Functional Reactive front-end development.