Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

16
  • 1
    \$\begingroup\$ Is there a limit to the number of arguments we must support? Haskell has a hard limit on tuple size (23 I think?). \$\endgroup\$ Commented Dec 28, 2020 at 2:32
  • 1
    \$\begingroup\$ By "Given a blackbox curried function, output its uncurried equivalent": The uncurry function receives two arguments, a function and its arguments, currying. \$\endgroup\$ Commented Dec 28, 2020 at 3:06
  • 2
    \$\begingroup\$ What should happen in languages that allow polymorphic returns where the polymorphism may cover function types? For example, in Haskell, id :: a -> a can be also be called at the type id :: (a -> b) -> a -> b. Does id have one argument or two (or three or four or...)? \$\endgroup\$ Commented Dec 28, 2020 at 4:56
  • 3
    \$\begingroup\$ @vrintle that's not a curried proc... this is... (what i mean is, the builtin .curry is not what the question means by a curried proc.) \$\endgroup\$ Commented Dec 28, 2020 at 10:49
  • 2
    \$\begingroup\$ @user Would it? Or would it be the unchanged a -> a? Or would it be ((a -> b -> c), a, b) -> c? Or ((a -> b -> c -> d), a, b, c) -> d, or...? But okay, if I can expect the caller to specify the number of arguments, then the goal is more clear. \$\endgroup\$ Commented Dec 28, 2020 at 16:33