<div dir="ltr">Also, after you've defined <span style="background-color:rgb(247,247,247);color:rgb(51,51,51);font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px">isHkOrLU</span> function you use it only once (in the same code block), however there are few use cases of "naked" (<span class="inbox-inbox-pl-k" style="font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px;box-sizing:border-box;color:rgb(167,29,93)">`elem`</span><span style="background-color:rgb(247,247,247);color:rgb(51,51,51);font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px"> [</span><span class="inbox-inbox-pl-s" style="font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px;box-sizing:border-box;color:rgb(24,54,145)"><span class="inbox-inbox-pl-pds" style="box-sizing:border-box">"</span>HK<span class="inbox-inbox-pl-pds" style="box-sizing:border-box">"</span></span><span style="background-color:rgb(247,247,247);color:rgb(51,51,51);font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px">, </span><span class="inbox-inbox-pl-s" style="font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px;box-sizing:border-box;color:rgb(24,54,145)"><span class="inbox-inbox-pl-pds" style="box-sizing:border-box">"</span>LU<span class="inbox-inbox-pl-pds" style="box-sizing:border-box">"</span></span><span style="background-color:rgb(247,247,247);color:rgb(51,51,51);font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:13.6px">])</span> in the rest part of article.  Would it make sense to substitute them with defined alias?<br></div><br><div class="gmail_quote"><div dir="ltr">пн, 23 янв. 2017 г. в 0:37, Will Yager <<a href="mailto:will.yager@gmail.com">will.yager@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg">Looks good! I would suggest putting near the beginning a note to the effect of "Note: This may look very verbose now, but I am going to explain how to make these statements idiomatic and compact further down. I'm just being explicit now." Otherwise, I would worry about people being scared off by the fact that the parenthesized, non-eta-reduced version is much longer and harder to read than the Python version. </div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Maybe also compare the short version to the Python version, just to wrap up the tutorial?</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Cheers,</div><div class="gmail_msg">Will</div></div><div dir="auto" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg">On Jan 22, 2017, at 05:27, Cody Goodman <<a href="mailto:codygman.consulting@gmail.com" class="gmail_msg" target="_blank">codygman.consulting@gmail.com</a>> wrote:<br class="gmail_msg"><br class="gmail_msg"></div><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg">Hi All, I wrote a lens json parsing tutorial here: <a href="https://github.com/codygman/concise-json-parsing-in-haskell" class="gmail_msg" target="_blank">https://github.com/codygman/concise-json-parsing-in-haskell</a><br class="gmail_msg"><br class="gmail_msg"></div>I'd appreciate any feedback. My approach tries to use a prior understanding of Python into understanding lens enough to do something useful. Perhaps I can include links to tutorials that cover more of the theoretical foundations as well.<br class="gmail_msg"><br class="gmail_msg"></div>Any criticism and/or ideas is welcome!<br class="gmail_msg"><br class="gmail_msg"></div>Thanks,<br class="gmail_msg"></div><br class="gmail_msg"></div>Cody Goodman<br class="gmail_msg"></div>
</div></blockquote><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><span class="gmail_msg">_______________________________________________</span><br class="gmail_msg"><span class="gmail_msg">Haskell-Cafe mailing list</span><br class="gmail_msg"><span class="gmail_msg">To (un)subscribe, modify options or view archives go to:</span><br class="gmail_msg"><span class="gmail_msg"><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a></span><br class="gmail_msg"><span class="gmail_msg">Only members subscribed via the mailman list are allowed to post.</span></div></blockquote></div>_______________________________________________<br class="gmail_msg">
Haskell-Cafe mailing list<br class="gmail_msg">
To (un)subscribe, modify options or view archives go to:<br class="gmail_msg">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" class="gmail_msg" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="gmail_msg">
Only members subscribed via the mailman list are allowed to post.</blockquote></div>