When comparing ECMAScript 6 vs Haste, the Slant community recommends Haste for most people. In the question“What are the best solutions to "The JavaScript Problem"?” Haste is ranked 3rd while ECMAScript 6 is ranked 37th. The most important reason people chose Haste is:
Haste was designed to allow both the client and server to be written as parts of the same, type-safe application. This is in stark contrast to most other options, where the client and server are considered two separate entities, resulting in extra manual validation code and more chances for type errors.
Ranked in these QuestionsQuestion Ranking
Pros
Pro New features make JavaScript a bit less painful to use
Pro Client and Server as the same application
Haste was designed to allow both the client and server to be written as parts of the same, type-safe application. This is in stark contrast to most other options, where the client and server are considered two separate entities, resulting in extra manual validation code and more chances for type errors.
Pro Almost full power of Haskell
Haste supports the Haskell 2010 standard except for Template Haskell as well as most GHC extensions.
Pro Automatic, type safe program slicing
Haste lets you write client and server as a single program, automatically generating code for the server as well as the client, giving you full type safety even across the Internet.
Pro Generates small, reasonably performant code
Cons
Con Undefined
JavaScript's fundamental flaw. ECMAScript still has it. Instead of crashing at or near the problem with a helpful error message like any sane dynamically-typed language, it just returns a garbage undefined
value until it finally crashes in some other unhelpful location. Or worse, it doesn't crash at all and just doesn't work.
Con Even more complicated
One of JavaScript's primary problems is that it's too complicated. Adding even more features is not going to fix that.
Con Lacks some minor Haskell functionality
Lacks support for Template Haskell.