<div dir="ltr">You seem rather confused about the topic. What magic were you expecting to happen if something doesn't have a value?<div><br></div><div>The point of Maybe is it lets you (a) specify exactly where things can lack a value (as, for example, when a database column can produce a NULL instead of a value), and (b) explicitly handle those instead of hoping the program somehow reads your mind to figure out how to deal with it or feeds you some unexpected 'nil' or whatever.</div><div><br></div><div>Consider in this case that the database does not care if a column doesn't happen to have any NULLs, it cares only that the column was not declared NOT NULL and therefore *can* contain a NULL. Which is the same condition where you use a Maybe someType in Haskell instead of simply someType.</div><div><br></div><div>In particular, if you were expecting a database NULL to turn into the empty string or "NULL" or some other such in-band value, how were you expecting to distinguish the case where the database row actually contains that string? That's why databases have NULL to begin with: "no value" distinct from any possible actual value. If you do not want this, declare the column NOT NULL in the database, don't expect the client program to do magic for you.</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Dec 18, 2018 at 10:34 AM Damien Mattei <<a href="mailto:mattei@oca.eu">mattei@oca.eu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">ok well i do not want to open a discussion here, but i do not see any<br>
benefit in Haskell using Nothing and Just compared to other language,<br>
it's the same than if i had written in C something like :<br>
if (x == NULL)<br>
   printf("NULL\n");<br>
else<br>
   printf("%s",*x);<br>
<br>
i expected more from Haskell...<br>
<br>
ok reading twice the article in link, i admit there should be some<br>
adavantage using Nothing instead of null, such as type, and genericity<br>
and not being spcecific to alloated memory as in C ...<br>
<br>
Le 18/12/2018 16:16, Tom Ellis a écrit :<br>
> That is using Maybe and is not a null pointer!<br>
> <br>
> Just and Nothing are the constructors of Maybe.<br>
> <br>
> On Tue, Dec 18, 2018 at 03:43:35PM +0100, Damien Mattei wrote:<br>
>> thank you Tom, it is the kind of answer that help me<br>
>> i insert this and it is ok now:<br>
>> forM_ bd_rows_WDS $ \(Only x) -><br>
>>       case x of<br>
>>         Nothing -> putStrLn ("x =" ++ "NULL")<br>
>>         Just x -> putStrLn $ ("x =" ++ Text.unpack x)<br>
>> i had seen a such solution on web but thought the Maybe was the<br>
>> solution, i hoped asked could avoid using sort of Null pointer as<br>
>> mentioned in this article:<br>
>> <a href="https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of-computer-science/" rel="noreferrer" target="_blank">https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of-computer-science/</a><br>
>> if someone else have a simpler solution email me<br>
>><br>
>><br>
>> Le 18/12/2018 13:34, tom.stejskal a écrit :<br>
>>> case x of<br>
>>>     Nothing -> putStrLn "NULL"<br>
>>>     Just y -> putStrLn $ Text.unpack y<br>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> To (un)subscribe, modify options or view archives go to:<br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
> Only members subscribed via the mailman list are allowed to post.<br>
> <br>
<br>
-- <br>
<a href="mailto:Damien.Mattei@unice.fr" target="_blank">Damien.Mattei@unice.fr</a>, <a href="mailto:Damien.Mattei@oca.eu" target="_blank">Damien.Mattei@oca.eu</a>, UNS / OCA / CNRS<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>brandon s allbery kf8nh</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a></div></div></div></div></div>