Stream: beginners

Topic: partial function application


view this post on Zulip Artur Swiderski (Dec 05 2022 at 10:41):

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

view this post on Zulip Luke Boswell (Dec 05 2022 at 10:45):

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.

view this post on Zulip Anton (Dec 05 2022 at 10:46):

https://github.com/roc-lang/roc/blob/main/FAQ.md#why-arent-roc-functions-curried-by-default

view this post on Zulip Anton (Dec 05 2022 at 10:46):

Currying is not exactly the same as partial function application but I think the reasoning for the choice is identical.

view this post on Zulip Luke Boswell (Dec 05 2022 at 10:47):

Yep, thanks @Anton

view this post on Zulip Artur Swiderski (Dec 05 2022 at 11:10):

ok in my use case I encapsulated function in lambda.. not so much cumbersome

view this post on Zulip Artur Swiderski (Dec 05 2022 at 12:49):

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 )

view this post on Zulip Anton (Dec 05 2022 at 12:55):

Thanks for the feedback @Artur Swiderski :)


Last updated: Jul 05 2025 at 12:14 UTC