Re: [Haskell-cafe] Best Editor In Windows

Nathan P. Campos wrote:
Hello, I'm very new at Haskell, i'm reading a book and starting, but i want to know which is the best editor for development under Windows, because now i'm using Notepad++(That i use to develop in C++).
Thanks, Nathan Paullino Campos
If you use emacs, check out http://www.haskell.org/haskell-mode/ -- View this message in context: http://www.nabble.com/Best-Editor-In-Windows-tp25908187p25917670.html Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

I'm very new at Haskell, i'm reading a book and starting, but i want to know which is the best editor for development under Windows, because now i'm using Notepad++(That i use to develop in C++).
The best editor for development is Emacs, of course. http://www.gnu.org/software/emacs Stefan

Hello!
On Thu, Oct 15, 2009 at 8:10 PM, Stefan Monnier
I'm very new at Haskell, i'm reading a book and starting, but i want to know which is the best editor for development under Windows, because now i'm using Notepad++(That i use to develop in C++).
The best editor for development is Emacs, of course. http://www.gnu.org/software/emacs
Stefan
I've been using Emacs with haskell-mode that Stefan Monnier created and maintains, and I have to say, it's fantastic! On Linux or Windows, it just works(TM). Thank you, Stefan! The only thing I haven't figured out is how to do tab-completion of words in the ghci buffer. Do I need to use a different key combination? I couldn't find that in the documentation. Paulo

On Thu, Oct 15, 2009 at 9:19 PM, Stefan Monnier
The only thing I haven't figured out is how to do tab-completion of words in the ghci buffer. Do I need to use a different key combination? I couldn't find that in the documentation.
I think it's just a missing feature.
OK! Let me know if there's anything I can do to help. I noticed that other modes, e.g. ESS for R, do have tab-completion, but just skimming the source code I couldn't find how exactly they do that. Paulo

The only thing I haven't figured out is how to do tab-completion of words in the ghci buffer. Do I need to use a different key combination? I couldn't find that in the documentation. I think it's just a missing feature. OK! Let me know if there's anything I can do to help. I noticed that other modes, e.g. ESS for R, do have tab-completion, but just skimming the source code I couldn't find how exactly they do that.
You could try to just send the TAB directly to the underlying process and let ghci do the completion. Stefan

In my humble opinion, one of the best editors for development of all time is Leo: http://webpages.charter.net/edreamleo/front.html Leo takes the idea of "code folding" and gives you complete control over it. That is, unlike other editors which only let you fold the code inside if/while/for/etc. statements and which only show you an outline consisting of a level for files and a level for function, Leo lets you structure the levels of your outline arbitrarily so that you can "fold" arbitrary chunks of code and do things like grouping together functions and files with a similar purpose or implementation. By structuring your code as an outline, you make it easier for others and yourself both to navigate through the code and also to see at a glance the high-level structure. Anyway, just wanted to use this opportunity to plug my favorite tool. :-) The downside about it is that the implementation sometimes feels a bit slow and clunky, so part of me really hopes that at the very least people will learn enough about this tool to take its ideas and steal them for other editors! Cheers, Greg On Oct 15, 2009, at 6:10 PM, Stefan Monnier wrote:
I'm very new at Haskell, i'm reading a book and starting, but i want to know which is the best editor for development under Windows, because now i'm using Notepad++(That i use to develop in C++).
The best editor for development is Emacs, of course. http://www.gnu.org/software/emacs
Stefan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

2009/10/16 Gregory Crosswhite
In my humble opinion, one of the best editors for development of all time is Leo:
http://webpages.charter.net/edreamleo/front.html
Leo takes the idea of "code folding" and gives you complete control over it. That is, unlike other editors which only let you fold the code inside if/while/for/etc. statements and which only show you an outline consisting of a level for files and a level for function, Leo lets you structure the levels of your outline arbitrarily so that you can "fold" arbitrary chunks of code and do things like grouping together functions and files with a similar purpose or implementation. By structuring your code as an outline, you make it easier for others and yourself both to navigate through the code and also to see at a glance the high-level structure.
Anyway, just wanted to use this opportunity to plug my favorite tool. :-) The downside about it is that the implementation sometimes feels a bit slow and clunky, so part of me really hopes that at the very least people will learn enough about this tool to take its ideas and steal them for other editors!
Cheers, Greg
This should come as no surprise, but Emacs can do this as well. -- Deniz Dogan

If you're a Windows developer and don't want to spent time to learn all the
alien emacs keyboard shortcuts, you can get going quickly by using this
emacs patch:
http://ourcomments.org/Emacs/EmacsW32.html
http://ourcomments.org/Emacs/EmacsW32.htmlThen use "set all to Emacs!W32"
and your keys behave like all other editors on Windows.
Of course I guess the Emacs shortcuts are deliberately chosen the way they
are, but using these Emacs shortcuts makes it hard to also use any other
editor on Windows IMO.
On Fri, Oct 16, 2009 at 11:29 AM, Deniz Dogan
2009/10/16 Gregory Crosswhite
: In my humble opinion, one of the best editors for development of all time is Leo:
http://webpages.charter.net/edreamleo/front.html
Leo takes the idea of "code folding" and gives you complete control over it. That is, unlike other editors which only let you fold the code inside if/while/for/etc. statements and which only show you an outline consisting of a level for files and a level for function, Leo lets you structure the levels of your outline arbitrarily so that you can "fold" arbitrary chunks of code and do things like grouping together functions and files with a similar purpose or implementation. By structuring your code as an outline, you make it easier for others and yourself both to navigate through the code and also to see at a glance the high-level structure.
Anyway, just wanted to use this opportunity to plug my favorite tool. :-) The downside about it is that the implementation sometimes feels a bit slow and clunky, so part of me really hopes that at the very least people will learn enough about this tool to take its ideas and steal them for other editors!
Cheers, Greg
This should come as no surprise, but Emacs can do this as well.
-- Deniz Dogan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Real programmers use butterflies!!
http://xkcd.com/378/
The best editor is the one that suites YOU better. I use VIM, even in
Windows, but that's me!
Best regards,
Rafael
On Fri, Oct 16, 2009 at 07:32, Peter Verswyvelen
If you're a Windows developer and don't want to spent time to learn all the alien emacs keyboard shortcuts, you can get going quickly by using this emacs patch: http://ourcomments.org/Emacs/EmacsW32.html
http://ourcomments.org/Emacs/EmacsW32.htmlThen use "set all to Emacs!W32" and your keys behave like all other editors on Windows.
Of course I guess the Emacs shortcuts are deliberately chosen the way they are, but using these Emacs shortcuts makes it hard to also use any other editor on Windows IMO.
On Fri, Oct 16, 2009 at 11:29 AM, Deniz Dogan
wrote: In my humble opinion, one of the best editors for development of all time is Leo:
http://webpages.charter.net/edreamleo/front.html
Leo takes the idea of "code folding" and gives you complete control over it. That is, unlike other editors which only let you fold the code inside if/while/for/etc. statements and which only show you an outline consisting of a level for files and a level for function, Leo lets you structure
2009/10/16 Gregory Crosswhite
: the levels of your outline arbitrarily so that you can "fold" arbitrary chunks of code and do things like grouping together functions and files with a similar purpose or implementation. By structuring your code as an outline, you make it easier for others and yourself both to navigate through the code and also to see at a glance the high-level structure.
Anyway, just wanted to use this opportunity to plug my favorite tool. :-) The downside about it is that the implementation sometimes feels a bit slow and clunky, so part of me really hopes that at the very least people will learn enough about this tool to take its ideas and steal them for other editors!
Cheers, Greg
This should come as no surprise, but Emacs can do this as well.
-- Deniz Dogan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Rafael Gustavo da Cunha Pereira Pinto

Hello I've been working on eclipse-fp to bring it up to working order again, so if you like Eclipse, you can download the source from git://github.com/JPMoresmau/eclipsefp.git (hopefully there will be a binary release soon). This is based on my customized Scion library (git://github.com/JPMoresmau/scion.git). I'm using Windows myself. JP Moresmau

While Emacs has some outline capabilities, they are not at this time remotely as nice or as powerful as Leo, which among other things: *) does not require that you manually specify the depth of each node *) can automatically concatenate child nodes together so that you don't have to insert a section heading for each child node inside of the parent *) has a separate navigation and editing panel, rather than doing everything inline *) allows you to view your whole project as an outline spanning multiple files in multiple directories *) automatically takes care of embedding the outline information into the source files for you, so that you can use a single set of outline commands for source files in any language and Leo will work out how to translate them into comments behind-the-scenes *) allows you to "clone" nodes so that you can have multiple views of your project; this way, for example, when working on a feature that spans several nodes you can clone all of the affected nodes and gather them together in one place *) has a special command "@ .... @c" that lets you easily put multi- line comments in source files even if the language only supports line comments Don't get me wrong, I would welcome seeing Emacs have outlining features for code development that are as powerful as Leo's, but it isn't there yet and hacking what is there to bring it up to parity with Leo would be highly non-trivial. - Greg On Oct 16, 2009, at 2:29 AM, Deniz Dogan wrote:
2009/10/16 Gregory Crosswhite
: In my humble opinion, one of the best editors for development of all time is Leo:
http://webpages.charter.net/edreamleo/front.html
Leo takes the idea of "code folding" and gives you complete control over it. That is, unlike other editors which only let you fold the code inside if/while/for/etc. statements and which only show you an outline consisting of a level for files and a level for function, Leo lets you structure the levels of your outline arbitrarily so that you can "fold" arbitrary chunks of code and do things like grouping together functions and files with a similar purpose or implementation. By structuring your code as an outline, you make it easier for others and yourself both to navigate through the code and also to see at a glance the high-level structure.
Anyway, just wanted to use this opportunity to plug my favorite tool. :-) The downside about it is that the implementation sometimes feels a bit slow and clunky, so part of me really hopes that at the very least people will learn enough about this tool to take its ideas and steal them for other editors!
Cheers, Greg
This should come as no surprise, but Emacs can do this as well.
-- Deniz Dogan

On Fri, 16 Oct 2009 10:41:05 -0700
"Gregory" ==
>>>>>> wrote:
Hi Greg, Gregory> While Emacs has some outline capabilities, they are not at Gregory> this time remotely as nice or as powerful as Leo, which among Gregory> other things: Do you use Leo for Haskell development? I've asked on Leo list about support for Haskell and Emacs, but no reply so far. IIRC, Emacs can be used as Leo's external editor, right? Sincerely, Gour -- Gour | Hlapicina, Croatia | GPG key: F96FF5F6 ----------------------------------------------------------------

Gour, Yes, I use Leo for Haskell development. You will need to use the development trunk, though, since it contains a necessary patch I submitted to make Leo work correctly with Haskell sources. You can download this from Launchpad: https://launchpad.net/leo-editor It is possible to use Emacs as the external editor. I don't remember the exact procedure off the top of my head, but the idea is that you enable the emacs plugin inside Leo, set your installation of emacs to start the emacs server (so that emacsclient can connect to it), and then when you double-click on a node it sends the node to emacs via. emacsclient and when you save the buffer is sent back to Leo. One caveat with this is that Leo has a newer Qt-based GUI and an older Tk- based GUI, and I don't know if the plugin works with the Qt-based GUI yet. You can tell Leo to use the Tk GUI by specifying "--gui=Tk" on the command line --- i.e., "python launchLeo.py --gui=Tk". Hope this helps! - Greg On Nov 3, 2009, at 12:55 AM, Gour wrote:
On Fri, 16 Oct 2009 10:41:05 -0700
> "Gregory" ==
>>>>>> wrote: Hi Greg,
Gregory> While Emacs has some outline capabilities, they are not at Gregory> this time remotely as nice or as powerful as Leo, which among Gregory> other things:
Do you use Leo for Haskell development?
I've asked on Leo list about support for Haskell and Emacs, but no reply so far.
IIRC, Emacs can be used as Leo's external editor, right?
Sincerely, Gour
--
Gour | Hlapicina, Croatia | GPG key: F96FF5F6 ---------------------------------------------------------------- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I tryed it, and noticed that it is very slow, compared both with Emacs, TextPad, and Emerald. I tryed also leksah, but it is always complaining about something missing in Pango, although it works fine. Here is the error message
(leksah.exe:1588): Pango-WARNING **: error opening config file '"C:\Arquivos de
Programas\Leksah\etc\pango\pangorc': Invalid argument
--- On Tue, 11/3/09, Gregory Crosswhite
On Fri, 16 Oct 2009 10:41:05 -0700
> "Gregory" ==
>>>>>> wrote: Hi Greg,
Gregory> While Emacs has some outline capabilities, they are not at Gregory> this time remotely as nice or as powerful as Leo, which among Gregory> other things:
Do you use Leo for Haskell development?
I've asked on Leo list about support for Haskell and Emacs, but no reply so far.
IIRC, Emacs can be used as Leo's external editor, right?
Sincerely, Gour
-- Gour | Hlapicina, Croatia | GPG key: F96FF5F6 ---------------------------------------------------------------- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe __________________________________________________________________ The new Internet Explorer® 8 - Faster, safer, easier. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/

On Tue, 3 Nov 2009 03:15:03 -0800 (PST)
"Philippos" ==
wrote:
Philippos> I tryed it, and noticed that it is very slow, compared both Philippos> with Emacs, TextPad, and Emerald. Is it usable (btw, what hardware?) or just slow? Philippos> I tryed also leksah, but it is always complaining about Philippos> something missing in Pango, although it works fine. I'd prefer to stay with Emacs and its haskell-mode as editor-tool, but Leo might come handy as meta-editor. Sincerely, Gour -- Gour | Hlapicina, Croatia | GPG key: F96FF5F6 ----------------------------------------------------------------

The problem with Leo is that although there are rarely performance problems when navigating and editing the outline, the text pane can be very slow at times when using the Tk-based GUI --- even on modern hardware --- because the syntax highlighter is written in Python. (Incidentally, as much as I love Leo, I also hold it up as an example of how slow scripting languages aren't always "fast enough" as their proponents claim. :-) ) There are two solutions to this: First, you can use the Qt-based Leo GUI, which uses the native C++ colorizer built into QtScintilla, which I have never had any performance problems with. Since you (reasonably) really like haskell-mode in Emacs, though, you can alternatively use the Emacs plugin so that you end up using Leo to navigate through your code to the chunk that you want to edit, and then using Emacs to do the actual editing. This might sound like an awkward setup, but I actually find that navigating in this way requires much less mental energy than scanning through multiple flat files to pick out the code that you want to edit next, and the plugin makes this type of workflow fairly painless. Viewing Leo as a "meta-editor" is a good way to think about it. Cheers, Greg On Nov 3, 2009, at 12:26 PM, Gour wrote:
On Tue, 3 Nov 2009 03:15:03 -0800 (PST)
> "Philippos" ==
wrote: Philippos> I tryed it, and noticed that it is very slow, compared both Philippos> with Emacs, TextPad, and Emerald.
Is it usable (btw, what hardware?) or just slow?
Philippos> I tryed also leksah, but it is always complaining about Philippos> something missing in Pango, although it works fine.
I'd prefer to stay with Emacs and its haskell-mode as editor-tool, but Leo might come handy as meta-editor.
Sincerely, Gour
--
Gour | Hlapicina, Croatia | GPG key: F96FF5F6 ---------------------------------------------------------------- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Tue, 3 Nov 2009 12:47:40 -0800
"Gregory" == Gregory Crosswhite >>>>>> wrote:
Gregory> The problem with Leo is that although there are rarely Gregory> performance problems when navigating and editing the outline, Gregory> the text pane can be very slow at times when using the Gregory> Tk-based GUI --- even on modern hardware --- because the Gregory> syntax highlighter is written in Python. (Incidentally, as Gregory> much as I love Leo, I also hold it up as an example of how Gregory> slow scripting languages aren't always "fast enough" as their Gregory> proponents claim. :-) ) :-) Gregory> There are two solutions to this: First, you can use the Gregory> Qt-based Leo GUI, which uses the native C++ colorizer built Gregory> into QtScintilla, which I have never had any performance Gregory> problems with. Since you (reasonably) really like Gregory> haskell-mode in Emacs, though, you can alternatively use the Gregory> Emacs plugin so that you end up using Leo to navigate through Gregory> your code to the chunk that you want to edit, and then using Gregory> Emacs to do the actual editing. This might sound like an Gregory> awkward setup, but I actually find that navigating in this way Gregory> requires much less mental energy than scanning through Gregory> multiple flat files to pick out the code that you want to edit Gregory> next, and the plugin makes this type of workflow fairly Gregory> painless. Thanks to your help, now I made Qt Leo to work with my Emacs. :-) Gregory> Viewing Leo as a "meta-editor" is a good way to think about it. Good. Let me try to imbibe this view more... Sincerely, Gour -- Gour | Hlapicina, Croatia | GPG key: F96FF5F6 ----------------------------------------------------------------
participants (11)
-
Deniz Dogan
-
Gour
-
Gregory Crosswhite
-
JP Moresmau
-
Paulo Tanimoto
-
Peter Verswyvelen
-
Philippos Apolinarius
-
Rafael Gustavo da Cunha Pereira Pinto
-
Stefan Monnier
-
Stefan Monnier
-
Tom.Amundsen