<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">That's an `iterate (+1)` from me!<div class=""><br class=""></div><div class="">I've just finished teaching my students about monads, and this facility would be really, really, useful....</div><div class="">(They're now engaged in a struggle with a monadic exercise ;-)</div><div class=""><br class=""></div><div class="">Regards,</div><div class="">  Andrew<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 7 Dec 2020, at 23:22, AndrĂ© Popovitch <<a href="mailto:andre@popovit.ch" class="">andre@popovit.ch</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">One feature I've always wanted would be able to "manually inline" a function. For example, if I have<br class=""><br class=""><div class="">    foo a = a + a<br class=""></div><div class="">    bar = foo 3</div><div class=""><br class=""></div><div class="">I'd like to be able to right-click on the invocation of `foo` and select some option to inline it, rewriting the file to read </div><div class=""><br class=""></div><div class=""><div class="">    foo a = a + a<br class=""></div><div class="">    bar = 3 + 3</div></div><div class=""><br class=""></div><div class="">I think this would make it simple to dive into an abstraction to see what's really going on. For example, imagine a new user is confused by this expression:</div><div class=""> </div><div class="">   Just 3 >> Just 4</div><div class=""><br class=""></div><div class="">They could right-click on `>>` to see that it is identical to:</div><div class=""><br class=""></div><div class="">    case Just 3 of</div><div class="">        Just _ -> Just 4</div><div class="">        Nothing -> Nothing</div><div class=""><br class=""></div><div class=""></div><div class=""><br class=""></div><div class="">Which would allow them to easily see that this expression will always evaluate to "Just 4" (and hopefully simplify it). Enlightened, 

they could then hit ctrl-z to revert the code to its original state. </div><div class=""><br class=""></div><div class="">Haskell's purity and laziness makes it one of the only mainstream languages where equational reasoning is really possible, so this feature would play on Haskell's strengths and provide a feature that couldn't be replicated in other languages' IDEs. It would also allow new users to more easily dive in and understand certain abstractions (although how it would work in many cases would be hard to determine).</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 30, 2020 at 3:35 PM Gueven Bay via Haskell-Cafe <<a href="mailto:haskell-cafe@haskell.org" class="">haskell-cafe@haskell.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Greetings,<br class="">
<br class="">
Imagine that you can decide what functionality and features an<br class="">
Integrated Development Environment for Haskell should get. You can<br class="">
make this IDE with your wishlist similar in power as other IDEs for<br class="">
Java for example.<br class="">
<br class="">
Now list as many features as you can, what would make the life of a<br class="">
Haskell developer as comfortable as possible!?<br class="">
<br class="">
I am dying to know how this list of features at the end (of this<br class="">
thread) will look like.<br class="">
_______________________________________________<br class="">
Haskell-Cafe mailing list<br class="">
To (un)subscribe, modify options or view archives go to:<br class="">
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="">
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div dir="ltr" class="gmail_signature"><div dir="ltr" class=""><font face="monospace, monospace" class=""><span style="font-size:13px" class="">Andre Popovitch</span></font><div class=""><font face="monospace, monospace" class=""><span style="font-size:13px" class="">989 627 4376</span></font></div></div></div>
_______________________________________________<br class="">Haskell-Cafe mailing list<br class="">To (un)subscribe, modify options or view archives go to:<br class=""><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="">Only members subscribed via the mailman list are allowed to post.</div></blockquote></div><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">--------------------------------------------------------------------<br class="">Andrew Butterfield     Tel: +353-1-896-2517     Fax: +353-1-677-2204<br class="">Lero@TCD, Head of Software Foundations & Verification Research Group<br class="">School of Computer Science and Statistics,<br class="">Room G.39, O'Reilly Institute, Trinity College, University of Dublin<br class="">                         <a href="http://www.scss.tcd.ie/Andrew.Butterfield/" class="">http://www.scss.tcd.ie/Andrew.Butterfield/</a><br class="">--------------------------------------------------------------------</div>
</div>

<br class=""></div></body></html>