When comparing Amber vs Utrecht Haskell Compiler, 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 Amber is ranked 27th. 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.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Includes an IDE
Amber includes an integrated development environment with a class browser, workspace, transcript, object inspector and debugger.
Pro Smalltalk is a simple, elegant, and powerful language
Pro One-to-one JS equivalent
Amber is written in itself, including the parser and compiler, and compiles into efficient JavaScript, mapping one-to-one with the JS equivalent.
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.
Cons
Con Very few learning resources
There are very little learning resources for Amber outside the official documentation. Which may not be enough for beginners, especially people that don't have much experience in programming.
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.