Send Beginners mailing list submissions to
        beginners@haskell.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
        beginners-requ...@haskell.org

You can reach the person managing the list at
        beginners-ow...@haskell.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."


Today's Topics:

   1. Re:  Maybe a -> Maybe b (Olivier Iffrig)
   2. Re:  Maybe a -> Maybe b (PICCA Frederic-Emmanuel)
   3. Re:  Maybe a -> Maybe b (Imants Cekusins)
   4. Re:  Beginners Digest, Vol 110, Issue 20 (Andrey Klaus)
   5. Re:  Beginners Digest, Vol 110, Issue 20 (Andrey Klaus)


----------------------------------------------------------------------

Message: 1
Date: Fri, 25 Aug 2017 14:27:57 +0200
From: Olivier Iffrig <oliv...@iffrig.eu>
To: beginners@haskell.org
Subject: Re: [Haskell-beginners] Maybe a -> Maybe b
Message-ID: <20170825122757.tj2u5u2gn53fk...@neon.iffrig.eu>
Content-Type: text/plain; charset=us-ascii

PICCA Frederic-Emmanuel wrote (2017-08-25 08:05:34):
> Hello, I have this 
> 
> data Proxy = Proxy String 
> 
> And I want to write a function
> 
> f :: Maybe Proxy -> Maybe String
> f ma = case ma of
>            (Just (Proxy a)) -> Just a
>            Nothing -> Nothing
> 
> I was wondering if there is no simpler way to do this ?

Maybe implements the Functor type class (as an exercise, you can try to
figure out the implementation), therefore you can simply use fmap, which
in the case of Maybe, has type (a -> b) -> Maybe a -> Maybe b

You just need a function to "unwrap" the String inside of the Proxy, and
you're done.

-- 
Olivier



------------------------------

Message: 2
Date: Fri, 25 Aug 2017 12:45:37 +0000
From: PICCA Frederic-Emmanuel
        <frederic-emmanuel.pi...@synchrotron-soleil.fr>
To: "The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell" <beginners@haskell.org>
Subject: Re: [Haskell-beginners] Maybe a -> Maybe b
Message-ID:
        
<a2a20ec3b8560d408356cac2fc148e53bb41b...@sun-dag3.synchrotron-soleil.fr>
        
Content-Type: text/plain; charset="us-ascii"

> Maybe implements the Functor type class (as an exercise, you can try to
> figure out the implementation), therefore you can simply use fmap, which
> in the case of Maybe, has type (a -> b) -> Maybe a -> Maybe b

Thanks I reallized this after sending the email

thanks

Frederic

------------------------------

Message: 3
Date: Fri, 25 Aug 2017 15:56:41 +0300
From: Imants Cekusins <ima...@gmail.com>
To: The Haskell-Beginners Mailing List - Discussion of primarily
        beginner-level topics related to Haskell <beginners@haskell.org>
Subject: Re: [Haskell-beginners] Maybe a -> Maybe b
Message-ID:
        <cap1qinbrbj8ch6me7ssixt03pj9hnrwzud0o2zjpgrg1cyc...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

> as an exercise, you can try to figure out the implementation

.. time is up :-P
Here is an answer for slightly more generic Proxy and f:


data Proxy a = Proxy a

exProxy::Functor f =>
     f (Proxy a) -> f a
exProxy = (un1 <$>)
    where un1 (Proxy a1) = a1

​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.haskell.org/pipermail/beginners/attachments/20170825/96892427/attachment-0001.html>

------------------------------

Message: 4
Date: Fri, 25 Aug 2017 15:58:05 +0300
From: Andrey Klaus <deepminds...@gmail.com>
To: beginners@haskell.org
Subject: Re: [Haskell-beginners] Beginners Digest, Vol 110, Issue 20
Message-ID:
        <cafsn60sp+acwni2g5xx-0tahoevrvdd6zq28asocbvzfa9p...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hello

f ma = fmap ((Proxy a) -> Just a) ma

or even shorter

f = fmap ((Proxy a) -> Just a)


2017-08-25 15:00 GMT+03:00 <beginners-requ...@haskell.org>:

> Send Beginners mailing list submissions to
>         beginners@haskell.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
> or, via email, send a message with subject or body 'help' to
>         beginners-requ...@haskell.org
>
> You can reach the person managing the list at
>         beginners-ow...@haskell.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Beginners digest..."
>
>
> Today's Topics:
>
>    1.  Maybe a -> Maybe b (PICCA Frederic-Emmanuel)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 25 Aug 2017 08:05:34 +0000
> From: PICCA Frederic-Emmanuel
>         <frederic-emmanuel.pi...@synchrotron-soleil.fr>
> To: "beginners@haskell.org" <beginners@haskell.org>
> Subject: [Haskell-beginners] Maybe a -> Maybe b
> Message-ID:
>         <A2A20EC3B8560D408356CAC2FC148E53BB41B8D4@SUN-DAG3.
> synchrotron-soleil.fr>
>
> Content-Type: text/plain; charset="us-ascii"
>
> Hello, I have this
>
> data Proxy = Proxy String
>
> And I want to write a function
>
> f :: Maybe Proxy -> Maybe String
> f ma = case ma of
>            (Just (Proxy a)) -> Just a
>            Nothing -> Nothing
>
> I was wondering if there is no simpler way to do this ?
>
> thanks
>
> Frederic
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> Beginners mailing list
> Beginners@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
> ------------------------------
>
> End of Beginners Digest, Vol 110, Issue 20
> ******************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.haskell.org/pipermail/beginners/attachments/20170825/b400b818/attachment-0001.html>

------------------------------

Message: 5
Date: Fri, 25 Aug 2017 16:03:49 +0300
From: Andrey Klaus <deepminds...@gmail.com>
To: beginners@haskell.org
Subject: Re: [Haskell-beginners] Beginners Digest, Vol 110, Issue 20
Message-ID:
        <CAFsn60T_dagaj0E6KK+Mrxg0AgiwyZyF5G=vhwur9p1tlld...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

sorry, these 2 should be correct

f ma = fmap (\(Proxy a) -> a) ma

f = fmap (\(Proxy a) -> a)

2017-08-25 15:58 GMT+03:00 Andrey Klaus <deepminds...@gmail.com>:

> Hello
>
> f ma = fmap ((Proxy a) -> Just a) ma
>
> or even shorter
>
> f = fmap ((Proxy a) -> Just a)
>
>
> 2017-08-25 15:00 GMT+03:00 <beginners-requ...@haskell.org>:
>
>> Send Beginners mailing list submissions to
>>         beginners@haskell.org
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>         http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>> or, via email, send a message with subject or body 'help' to
>>         beginners-requ...@haskell.org
>>
>> You can reach the person managing the list at
>>         beginners-ow...@haskell.org
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of Beginners digest..."
>>
>>
>> Today's Topics:
>>
>>    1.  Maybe a -> Maybe b (PICCA Frederic-Emmanuel)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Fri, 25 Aug 2017 08:05:34 +0000
>> From: PICCA Frederic-Emmanuel
>>         <frederic-emmanuel.pi...@synchrotron-soleil.fr>
>> To: "beginners@haskell.org" <beginners@haskell.org>
>> Subject: [Haskell-beginners] Maybe a -> Maybe b
>> Message-ID:
>>         <A2A20EC3B8560D408356CAC2FC148E53BB41B8D4@SUN-DAG3.synchrotr
>> on-soleil.fr>
>>
>> Content-Type: text/plain; charset="us-ascii"
>>
>> Hello, I have this
>>
>> data Proxy = Proxy String
>>
>> And I want to write a function
>>
>> f :: Maybe Proxy -> Maybe String
>> f ma = case ma of
>>            (Just (Proxy a)) -> Just a
>>            Nothing -> Nothing
>>
>> I was wondering if there is no simpler way to do this ?
>>
>> thanks
>>
>> Frederic
>>
>> ------------------------------
>>
>> Subject: Digest Footer
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners@haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>>
>> ------------------------------
>>
>> End of Beginners Digest, Vol 110, Issue 20
>> ******************************************
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.haskell.org/pipermail/beginners/attachments/20170825/3745a2cb/attachment.html>

------------------------------

Subject: Digest Footer

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners


------------------------------

End of Beginners Digest, Vol 110, Issue 21
******************************************

Reply via email to