Hacker News new | past | comments | ask | show | jobs | submit login

Is it polymorphic?



Wait, are you saying you don't know anything about haskell at all? Then why are you making claims about what it can't express?


Right, I don't know much about Haskell (not actively programming in it), but I know that Haskell was not designed with OOP in mind and things like polymorphic nominal subclassing are not first-class there. There are also some things that Haskell's type system can't do e.g. the nice thing that Scala does with fold/map/reduce always returning the right type, even if it has to be a different type than the type of the source collection. I'd like to be proven wrong, Haskell is on my list of next languages to learn well ;)


Haskell's typeclasses (which are almost identical to traits) support polymorphic nominal subclassing just fine.

Haskell actually has whole program type inference (unlike Scala, which only does local inference), so fold/map will always return the right type as well, but you also get to not have to put types anywhere if you don't want to (including function signatures).

Scala's main advantage over Haskell is being able to call into Java.


> Scala's main advantage over Haskell is being able to call into Java.

+ a superior module system + better type classes (no global namespace)

But yes, if running on the JVM is no option, Haskell is a serious contender


I don't even know what anything in your post means. You are correct that haskell is not an OOP language. You are very confused beyond that point.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: