<div dir="ltr">Okay, sorry for taking your time about those propositions. I'm just thinking of ways for improving future Haskell. My feedback is mostly from talking with people and trying to teach them in Haskell.</div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-16 20:04 GMT+03:00 Sven Panne <span dir="ltr"><<a href="mailto:svenpanne@gmail.com" target="_blank">svenpanne@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">2017-04-16 17:21 GMT+02:00 Vassil Ognyanov Keremidchiev <span dir="ltr"><<a href="mailto:varosi@gmail.com" target="_blank">varosi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">1) It's not a problem, it's a improvement in syntax with lowering verbosity.</div></blockquote><div><br></div></span><div>If it's not a real problem, it probably shouldn't be done: Every tiny change in the syntax, even if it's somehow backwards compatible, has a high cost in the whole ecosystem: The compiler has to be changed (probably by far the easiest part), libraries for parsing/pretty-printing Haskell have to be adapted, Editors/syntax highlighting rules have to be changed, books/tutorials have to be rewritten and people have to be retrained (yes, even if they don't use the new syntax: others might use it). To outweigh this pain, there should be be a real gain, saving just 4 keystrokes isn't worth it. And for me, and probably others, it's not an improvement in syntax, it actually makes things worse by removing a syntactic cue.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> It's similar with the difference between Pascal and C syntax. One of the reasons we all love Haskell is because it's not so verbose.</div></blockquote><div><br></div></span><div>I think it's actually not the non-verbosity which makes Haskell attractive, it's its expressiveness. These are two quite different things.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> I have asked often why do-block is so different, than non-do-block.</div></blockquote><div><br></div></span><div>Because it is fundamentally different from the rest, having a sequential nature (for some meaning of "sequential" given by the underlying monad).</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"> Exchanging "x = foo" with "x <- foo" will result in error, so there is no problem that the difference is small. </div></blockquote><div><br></div></span><div>Of course a machine will see the difference easily and immediately, the question is: Will people do so, too?</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>2) you're right. May be lazyness could solve that? I'm not sure here.</div></div></blockquote><div><br></div></span><div>So what are the desugaring rules for your proposal? I have the gut feeling that they will be quite a bit more complicated and non-local than the current ones. Remember the famous quote:</div><div><br></div><div>   "If you can't explain it to a six year old, you don't understand it yourself."</div><div><br></div><div>;-)</div></div></div></div>
</blockquote></div><br></div>