[Haskell-beginners] Beginner question.
brad73435 Smith
brad73435 at gmail.com
Tue Sep 12 13:35:14 UTC 2023
That’s an impressive step in complexity!
FWIW, for ‘f x y = x <> " " <> y’ that website gave the same result as the book… ‘f = (<>) . (<> " ")’… so it seems to do a good job of giving a simplified solution.
Understood re only using point-free for simple, clear cases… though it was a good exercise for me to understand what’s going on with the function composition operator (.).
Thank you!
Brad
Sent from my iPhone
> On Sep 12, 2023, at 1:08 AM, Sylvain Henry <sylvain at haskus.fr> wrote:
>
> Hi,
>
> https://pointfree.io/ gives:
>
> Input: f x y z = x <> " " <> y <> " " <> z
>
> Output: f = ((<>) .) . flip flip " " . ((<>) .) . (<>) . (<> " ")
>
> So no, it's not something simple!
>
> For clarity I would recommend using the non-point-free version, even in the case given in the book. Use point-free only in simple cases like `map (+ 1)` where the meaning is obvious.
>
> Sylvain
>
>
>> On 12/09/2023 02:45, Brad Smith wrote:
>> I just started working my way through a Haskell book... first time with functional programming. Mid way through the first chapter she's introducing point-free programming with a trivial example transitioning from not point-free...
>>
>> makeGreeting salutation person = salutation <> " " <> person
>>
>> to point free...
>>
>> makeGreeting' = (<>) . (<> " ")
>>
>> After a little playing with it... it seems to make sense. So I thought I'd try evolving from salutation and name to salutation, first, and last names. But, after a bit of tinkering, I haven't been able to make it work...
>>
>> I'm sure it's something simple (one way or the other)... any help would be appreciated!
>>
>> Brad
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
More information about the Beginners
mailing list