3 ms·
Well, something like C-like, for maximum familiarity. What functionality is difficult to render in C-like syntax?
by winstonewert 9y ago
Well, something like C-like, for maximum familiarity.
What functionality is difficult to render in C-like syntax?
- orblivion 9y agoCurrying
- winstonewert 9y agoI can get the same effect as currying with C syntax by deliberating invoking a special function: functools.partial(old_function, my_new_argument) Is this such a useful thing that you need the functional style syntax to make it even easier to do?
- nathancahill 9y agoYes
- deleted 9y ago[deleted]
- orblivion 9y agoYou can do it in Python as you have, but it becomes second nature with Haskell (I can't speak to Elm directly). You might not even realize you're doing it. Add 5 to each num in a list (using a pretend function called `add` in both languages to be fair): map(functools.partial(add, 5), nums) map (add 5) nums Add 5 to each in a list of list of numbers: map(functools.partial(map, functools.partial(add, 5)), nums) map (map (add 5)) nums
- winstonewert 9y agoI suppose it would make more sense to write these as lambdas in a c style syntax nums.map(|sublist| sublist.map(|num| add(num, 5)) Maybe I haven't done enough functional programming yet, but I still like the explicitness of the C-style over the functional style.
- kasbah 9y agoSorry, but there is nothing more explicit about using lambdas as you have done, it's simply redundant (notice the repetition of sublist and num arguments).