<div dir="ltr">Jake Brownson wrote a game of tic-tac-toe in 160 lines[1] that I thought was beautiful. I forked it to make it a little more readable[2].<div><br></div><div>[1] <a href="https://gist.github.com/jbrownson/712ddafd1cb3388cd827">https://gist.github.com/jbrownson/712ddafd1cb3388cd827</a></div><div>[2] <a href="https://github.com/JeffreyBenjaminBrown/play/blob/master/_not_music/jbrownson_tictactoe/it_modified.hs">https://github.com/JeffreyBenjaminBrown/play/blob/master/_not_music/jbrownson_tictactoe/it_modified.hs</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 30, 2017 at 1:46 PM, Bram Neijt <span dir="ltr"><<a href="mailto:bneijt@gmail.com" target="_blank">bneijt@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have no idea what you consider clean. I have some ugly code that<br>
shows off some Haskell features:<br>
<br>
<a href="https://github.com/BigDataRepublic/hanon/blob/master/src/Mapper.hs" rel="noreferrer" target="_blank">https://github.com/<wbr>BigDataRepublic/hanon/blob/<wbr>master/src/Mapper.hs</a><br>
<br>
I think it shows off:<br>
- Introducing types to create a language<br>
- Explicit IO, allowing for clear contract exposure to the user of the library?<br>
- defaultHighlighters is a subset of defaultInputPaths through a<br>
simple map allowing for easily exposing constrained subsets of code<br>
(not data)??<br>
<br>
if I would force myself to continue, the number of question marks<br>
would just increase, so I'll stop here.<br>
<br>
Best of luck!<br>
<span class="HOEnZb"><font color="#888888"><br>
Bram<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Fri, Jun 30, 2017 at 9:08 PM, Francesco Ariis <<a href="mailto:fa-ml@ariis.it">fa-ml@ariis.it</a>> wrote:<br>
> On Fri, Jun 30, 2017 at 08:33:29PM +0200, Han Joosten wrote:<br>
>> I'd like to showoff some nice Haskell code to a CTO with no experience with<br>
>> FP. I promised to send him a small piece of Haskell so he could get an<br>
>> idea. The code should be easy to read, without obscure looking operators<br>
>> (so sorry, no lens, arrows stuff like that), optionally even do something<br>
>> interesting.<br>
>> Who has the nicest example laying around?<br>
><br>
> Some ideas:<br>
><br>
> - a wrongly typed piece of code: then show him a) how ghc(i) pinpoints<br>
> the problem part and is very clear in its demands ("I wanted this, you<br>
> gave me this") and b) how malleable the type system is.<br>
><br>
> - a declarative graph made with diagrams (with a graphical result<br>
> displayed)<br>
><br>
> - parsec (even if you go with applicative style, the code is very readable)<br>
> ______________________________<wbr>_________________<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-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
> Only members subscribed via the mailman list are allowed to post.<br>
______________________________<wbr>_________________<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-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank">Website</a>   |   <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a>   |   <a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">(spammy, so I often miss messages here)   </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px">   </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a><span style="font-size:12.8px">   </span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>