"Shem is a new compiled-to-JS, statically typed, pure-by-default functional programming language. The semantics are based on Haskell but the language evaluates strictly in a similar way to PureScript."
The document, unfortunately, doesn't go deeper into what about the semantics are derived from Haskell. A better HN title might be "Shem: a Statically Typed Compile-to-Javascript LISP".
This claim confuses me. It's eager, not lazy. And judging from the video presentation, where an incorrect[1] binary search results in a stack overflow, it doesn't have proper tail calls either. This doesn't suggest to me that it derives from Haskell at all.
[1]: The lower bound wasn't updated correctly which should made it loop indefinitely.
semantics ... based on Haskell while using eager evaluation is kind of a contradiction in terms. The difference between eager and lazy evaluation is rather large.
Definitely. Type classes are the semantic part of Shem taken from Haskell. Perhaps that is not the best summary, it's the type system that is the most obvious connection between Shem and Haskell.
"Shem is a new compiled-to-JS, statically typed, pure-by-default functional programming language. The semantics are based on Haskell but the language evaluates strictly in a similar way to PureScript."
The document, unfortunately, doesn't go deeper into what about the semantics are derived from Haskell. A better HN title might be "Shem: a Statically Typed Compile-to-Javascript LISP".