What function in Haskell cannot be emulated with Scala?

I am currently studying Scala and Haskell.

I was wondering if Haskell is more powerful than Scala (+ ScalaZ)? I know, for example, that Haskell Algebraic Data Types, TypeClasses, currying, laziness, etc. They can be implemented in Scala just fine.

Is there some kind of Haskell program that cannot be easily matched with Scala? If so, what missing feature in Scala prevents this mapping?

My intuition is that Scala is at least as powerful as Haskell, I'm just not sure if this intuition is correct. Can someone confirm this?

EDIT: I see the point of view of Abrahamson. The definition of emulation is really crucial. I would define emulation from a practical point of view, given that a programmer who knows that Haskell and Scala can convert 100 lines of Haskell code to equivalent Scala codes speaks in 1-2 hours. Now the question is, what is equivalent? This means converting the logical constructs that are in the Haskell code into equivalent logical constructs in Scala, such as Type Classes in Haskell, converted into equivalent constructs implemented with implicits.

EDIT 2: Reply to Travis's comment: for simplicity, let's only look at Haskell vanilla.

EDIT 3:

This question is similar.

+4
source share
1 answer

Scala , , Haskell, Haskell ( a) Hindley-Milner, . Scala (, -), , Haskell . (, , Scala , , .)

+2

Source: https://habr.com/ru/post/1532535/


All Articles