how to make partial application, it seems like essential functionality, yet compiler is complaining that I have to make it explicit. Unfortunately I don't know proper syntax
I think this was a deliberate design decision. I can't find a written reference to point to, but I recall it was something to do with making things simpler and more performant. I think @Richard Feldman mentioned it in a talk about Roc at one point.
https://github.com/roc-lang/roc/blob/main/FAQ.md#why-arent-roc-functions-curried-by-default
Currying is not exactly the same as partial function application but I think the reasoning for the choice is identical.
Yep, thanks @Anton
ok in my use case I encapsulated function in lambda.. not so much cumbersome
btw as a side note as functional programming beginner I would say that roc language seems to have acceptable level of complexity in most part which I can't say for example about haskell, which has way to steep learning curve. I think it is important since if roc community wants to see some wider adoption it has to compete somehow with more established languages. After writing couple of lines I want only more of this experience so it looks promising. It would be great to replace python as my secondary language. Definitely it looks like I could use it once in a while especially for some kind of parsing activity. Which I couldn't say about clojure or haskell, FP languages I looked so far. Even at this point of development I would choose roc over those two. In my opinion clojure has somehow better calling conventions for functions hence it is somehow easier to stack them together but it has some other properties excluding it (java driven, non-intuitive build system, syntax which is just to smart at times )
Thanks for the feedback @Artur Swiderski :)
Last updated: Jul 05 2025 at 12:14 UTC