Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> hybridish space

I'm sorry, but what do you mean by that? Roc is "as" pure as Haskell (or Koka), if that's your point.



I glanced at the example code and it looked like it allowed side effects, but maybe I was wrong. I haven't had much time to mess with it and seemed to be able to hard crash the repl doing some testing so it's something i'll have to look at later.


Well, yes, if there are no type annotations because all types are inferred, you don't see the effect "types".

https://www.roc-lang.org/tutorial#tasks


Then to my limited understanding that's less "pure" than haskell isn't it, which doesn't allow side effects and thus forces monads?


Roc doesn't allow side effects. All effects are wrapped and returned from a function. So this is just as pure as haskell. Though it may not be exposed in the same way as haskell, effects still boil down to something akin to monads and callbacks.


Honestly it looks like basically the same as getline/putStrLen from the tutorial(1) in the link below, just not written in an intentionally obtuse language.

Considering how much more approachable this Roc documentation/naming is, I'm wondering if it isn't so that the people writing Wikipedia's math pages are probably the same people that are drawn to and writes Haskell/monad "tutorials".

1: http://learnyouahaskell.com/input-and-output




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

Search: