<div dir="ltr"><div>Biggest feature I want is automated refactoring.</div><div><br></div><div>Changing a type definition and getting a bunch of errors to fix is one of the defining features of Haskell as a development experience—but the changes themselves are still pretty manual, and in larger codebases, this quickly gets painful. I would love a system where I make a change, get a bunch of errors and as much of the refactoring as possible is done for me automatically. This would include traditional refactorings like renaming functions and constructors, but it would also include more Haskell-specific refactorings, potentially with some amount of interactiveness. One example I ran into recently: I added a field to a constructor that was used pretty widely in my code, especially in lots of tests, and I had to manually update each pattern using that constructor to disregard the new field and add a default value (an empty string, in this case) everywhere the constructor was used to build a value. This was really tedious to do, and seems systematic enough that it could have been fully automated. In other scenarios, I would want my editor to cycle me through each location that needs to update and give me an automated suggestion I can accept or reject so that I could do a first pass quickly and only spend time on cases that require more manual intervention.</div><div><br></div><div>I have not used any Haskell refactoring tools yet, so I am not sure what exists today. Google around now, it looks like Facebook's retrie[1] project might be expressive enough to do the heavy lifting for a tool like this, so perhaps we just need a friendly frontend for it.</div><div><br></div><div>[1]: <a href="https://github.com/facebookincubator/retrie">https://github.com/facebookincubator/retrie</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 30, 2020 at 12:49 PM Alan & Kim Zimmerman <<a href="mailto:alan.zimm@gmail.com">alan.zimm@gmail.com</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"><div dir="ltr"><div>I would want to see moldable development[1] style search and visualisation.</div><div><br></div><div>Or something like [2]</div><div><br></div><div>Alan</div><div><br></div><div>[1] <a href="https://gtoolkit.com/" target="_blank">https://gtoolkit.com/</a></div><div>[2]<a href="https://2020.splashcon.org/details/splash-2020-oopsla/98/Adding-Interactive-Visual-Syntax-to-Textual-Code" target="_blank">https://2020.splashcon.org/details/splash-2020-oopsla/98/Adding-Interactive-Visual-Syntax-to-Textual-Code</a></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 30 Nov 2020 at 20:35, Gueven Bay via Haskell-Cafe <<a href="mailto:haskell-cafe@haskell.org" target="_blank">haskell-cafe@haskell.org</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">Greetings,<br>
<br>
Imagine that you can decide what functionality and features an<br>
Integrated Development Environment for Haskell should get. You can<br>
make this IDE with your wishlist similar in power as other IDEs for<br>
Java for example.<br>
<br>
Now list as many features as you can, what would make the life of a<br>
Haskell developer as comfortable as possible!?<br>
<br>
I am dying to know how this list of features at the end (of this<br>
thread) will look like.<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>
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>