IDE support

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

IDE support

Philipp Volgger
What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
anything else?


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Claus Reinke
> What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
> anything else?

in addition to the vim plugins already mentioned, i've got a few old ones at

    http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/

the page is many years old, but the logs indicate that many folks stumble
across it via google, without ever telling me, and i've noticed that the
haskell.org wiki now points to it, so i've just added my current vim files
for haskell:

    compiler/ghc.vim: basic quickfix settings for ghc
    ftplugin/haskell.vim: basic settings allowing vim to recognise imports
                                    (also load other haskell plugins from here)
    ftplugin/haskell_doc.vim: extensive functionality based on haddock's
            html files for libraries, including doc lookup & id completion

i don't know how i ever haskelled without that last plugin - completing long
library ids or adding imports, is just part of the fun, mostly i like to lookup
docs quickly (if you're using hugs, also try :find), or just get a menu of
possible imports an id might come from.

the files ought to be portable, but might retain some settings specific to
windows as that is my working platform, please check and adjust as
necessary. together with the pre-installed syntax-colouring for haskell,
this enables much of vim's general ide functionality for haskell, but
i'm sure one could do more. just pick and mix with the other vim files
mentioned in this thread or on haskell.org (which perhaps should be more
prominent, even though there isn't one mode to rule them all for vim!-)

if you can stay within haskell98, HaRe refactoring support for emacs and
vim is still around:    http://www.cs.kent.ac.uk/projects/refactor-fp/

claus

ps since surprisingly many haskellers are not quite aware of vim's ide
    functions, here is a partial list: syntax highlighting, quickfix (run source
    through ghci, jump to errors listed), tags (jump to definitions; using
    'ghc -e :ctags Main.hs' to generate tag file for Main.hs and imports,
    exported ids only at the moment; or use another tag file generator),
    completion with respect to current file, imported modules, tag files,
    haddock files (using haskell_doc.vim), (or define your own
    completion function), list lines using id under cursor, match open/
    close brackets and parens, fold away sections of modules, ... not
    to mention the general editor, search&replace functions..

    see the help files (:help), in vim, or online at
    http://vimdoc.sourceforge.net/htmldoc/usr_toc.html

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Marc Weber
In reply to this post by Philipp Volgger
On Sun, Apr 22, 2007 at 07:34:27PM +0200, Philipp Volgger wrote:
> What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
> anything else?

Hi Philipp.
I've written some completion scripts for vim. Don't know wether you can
call it an ide. Also tagging source is supported by one command.
With a little effort you can configure vim to create a new cabal project
using one command some settings, too.

If you're interested drop me a mail.
You can see some screenshots here http://www.mawercer.de/marcweber/vim/ss/vim/

There is also some emacs support I don't know much about.
All further information I could give you you can find on http://haskell.org/haskellwiki/Libraries_and_tools/Program_development  -> 2. Editor support

Marc
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Leif Frenzel-2
Hi,
> On Sun, Apr 22, 2007 at 07:34:27PM +0200, Philipp Volgger wrote:
>> What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
>> anything else?
In addition, there are plugins for XCode, IntelliJ IDEA and KDevelop
(don't have a specific link for the last one).

http://www.hoovy.org/HaskellXcodePlugin/
http://www.workingmouse.com/research/IntelliJIdea-Haskell/

Ciao,
Leif

>
> Hi Philipp.
> I've written some completion scripts for vim. Don't know wether you can
> call it an ide. Also tagging source is supported by one command.
> With a little effort you can configure vim to create a new cabal project
> using one command some settings, too.
>
> If you're interested drop me a mail.
> You can see some screenshots here http://www.mawercer.de/marcweber/vim/ss/vim/
>
> There is also some emacs support I don't know much about.
> All further information I could give you you can find on http://haskell.org/haskellwiki/Libraries_and_tools/Program_development  -> 2. Editor support
>
> Marc
> _______________________________________________
> Haskell-Cafe mailing list
> [hidden email]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Gour-2
In reply to this post by Claus Reinke
On Sun, 22 Apr 2007 22:13:45 +0100
"Claus Reinke" <[hidden email]> wrote:


> the page is many years old, but the logs indicate that many folks
> stumble across it via google, without ever telling me, and i've
> noticed that the haskell.org wiki now points to it, so i've just
> added my current vim files for haskell:

[...]

Thank you very much for your reply.

>
> if you can stay within haskell98, HaRe refactoring support for emacs
> and vim is still around:
> http://www.cs.kent.ac.uk/projects/refactor-fp/

What about shim (http://shim.haskellco.de/trac/) ?

Is it going to get vim support or the only the other editor's users are
happy?

> ps since surprisingly many haskellers are not quite aware of vim's ide
>     functions, here is a partial list: syntax highlighting, quickfix
> (run source through ghci, jump to errors listed), tags (jump to
> definitions; using 'ghc -e :ctags Main.hs' to generate tag file for
> Main.hs and imports, exported ids only at the moment; or use another
> tag file generator), completion with respect to current file,
> imported modules, tag files, haddock files (using haskell_doc.vim),
> (or define your own completion function), list lines using id under
> cursor, match open/ close brackets and parens, fold away sections of
> modules, ... not to mention the general editor, search&replace
> functions..
I must admit I wasn't aware of all the above. Thank you for
enlightenment ;)


Sincerely,
Gour

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

David House
In reply to this post by Philipp Volgger
On 22/04/07, Philipp Volgger <[hidden email]> wrote:
> What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
> anything else?

There is pretty decent Emacs support. haskell-mode [1] provides the
basis of this support. There are Emacs Lisp libraries for Haskell
indentation, Haskell syntax highlighting, and many other things. Make
sure you read the notes on the Haskellwiki [2], as they contain a lot
of helpful hints for getting the best out of the mode.

There are also libraries for integration of common Haskell tools like
hoogle [3] and hpaste [4] in the form of hoogle.el [5] and hpaste.el
[6].

Enjoy!

[1]: http://www.haskell.org/haskell-mode/
[2]: http://haskell.org/haskellwiki/Haskell_mode_for_Emacs
[3]: http://haskell.org/hoogle
[4]: http://hpaste.org
[5]: http://haskell.org/haskellwiki/Hoogle.el
[6]: http://haskell.org/haskellwiki/Hpaste.el

--
-David House, [hidden email]
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Benedikt Schmidt
In reply to this post by Gour-2
Gour <[hidden email]> writes:

> On Sun, 22 Apr 2007 22:13:45 +0100
> "Claus Reinke" <[hidden email]> wrote:

>> if you can stay within haskell98, HaRe refactoring support for emacs
>> and vim is still around:
>> http://www.cs.kent.ac.uk/projects/refactor-fp/
>
> What about shim (http://shim.haskellco.de/trac/) ?
>
> Is it going to get vim support or the only the other editor's users are
> happy?

I use emacs exclusively for hacking Haskell, but I wanted to see
if it's possible to connect to the shim server-process from vim
and started working on omnicompletion:

http://shim.haskellco.de/trac/attachment/wiki/ScreenShots/vim-shim.png

http://shim.haskellco.de/trac/wiki/ShimVim

http://darcsweb.haskellco.de/darcsweb.cgi?r=shim;a=tree;f=/vim

I don't think I will spend much more time working on this, but
if anyone wants to try it out or improve it,  I would be happy
to answer questions and review patches.

Thanks,
  Benedikt

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

David Waern
In reply to this post by Philipp Volgger
> What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
> anything else?

I'm working in Haste2[1]. But it is unreleased :P

[1] http://www.dtek.chalmers.se/~davve/haste2-new.png

/David

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Andrew Wagner
This looks nice! Is there a project page for Haste2? How far along is
it? Is it based on gtk2hs?

On 4/23/07, David Waern <[hidden email]> wrote:

> > What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
> > anything else?
>
> I'm working in Haste2[1]. But it is unreleased :P
>
> [1] http://www.dtek.chalmers.se/~davve/haste2-new.png
>
> /David
>
> _______________________________________________
> Haskell-Cafe mailing list
> [hidden email]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Dougal Stanton
In reply to this post by David Waern
On 23/04/07, David Waern <[hidden email]> wrote:
> > What IDE support is available for Haskell (Visuall Haskell, EclipseFP),
> > anything else?
>
> I'm working in Haste2[1]. But it is unreleased :P
>
> [1] http://www.dtek.chalmers.se/~davve/haste2-new.png

That's really clean-looking and undistracting. When do you expect to
release it on the unsuspecting public? ;-)

Cheers,

D.
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

David Waern
In reply to this post by Andrew Wagner
> This looks nice! Is there a project page for Haste2? How far along is
> it? Is it based on gtk2hs?

Yes, it's based on the Scintilla[1] editor and gtk2hs. I've only been
working on it for a couple of weeks, and that includes creating the
Scintilla binding for gtk2hs, so it doesn't have that many feature yet.
There's no homepage either.

[1] http://www.scintilla.org/

/David


_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Neil Mitchell
Hi David,

> Yes, it's based on the Scintilla[1] editor and gtk2hs. I've only been
> working on it for a couple of weeks, and that includes creating the
> Scintilla binding for gtk2hs, so it doesn't have that many feature yet.
> There's no homepage either.
>
> [1] http://www.scintilla.org/

Have you seen the GuiHaskell project, and were you aware that there is
a summer of code project on it? This will provide some way of
interfacing to all compilers, and various buttons, but none of the
editing features.

If you want to have any input, we'd be greatful. This hopefully might
allow us to have a shared common bit.

Thanks

Neil

[1] http://www-users.cs.york.ac.uk/~ndm/guihaskell/
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

David Waern
In reply to this post by Dougal Stanton
> On 23/04/07, David Waern <[hidden email]> wrote:
>> > What IDE support is available for Haskell (Visuall Haskell,
>> EclipseFP),
>> > anything else?
>>
>> I'm working in Haste2[1]. But it is unreleased :P
>>
>> [1] http://www.dtek.chalmers.se/~davve/haste2-new.png
>
> That's really clean-looking and undistracting. When do you expect to
> release it on the unsuspecting public? ;-)
>

Thanks! I'll probably release it when my Scintilla patch for gtk2hs is
completed, if it gets accepted.

/David

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

David Waern
In reply to this post by Neil Mitchell
> Have you seen the GuiHaskell project, and were you aware that there is
> a summer of code project on it? This will provide some way of
> interfacing to all compilers, and various buttons, but none of the
> editing features.

Yes, I was aware of it. My plan was to experiment with the editor, the GHC
API and Haddock 2.0, so the project is a little bit different.

> If you want to have any input, we'd be greatful. This hopefully might
> allow us to have a shared common bit.

I'm all for sharing common bits! Let's pay some attention to each others
repositories. Here's mine: http://repos.mine.nu/davve/darcs/haste2/

There's probably a lot of stuff in Cabal (that just needs to be exposed)
that we could use also.

/David

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Re: IDE support

Claus Reinke
In reply to this post by Benedikt Schmidt
> I use emacs exclusively for hacking Haskell, but I wanted to see
> if it's possible to connect to the shim server-process from vim
> and started working on omnicompletion:
>
> http://shim.haskellco.de/trac/attachment/wiki/ScreenShots/vim-shim.png
>
> http://shim.haskellco.de/trac/wiki/ShimVim
>
> http://darcsweb.haskellco.de/darcsweb.cgi?r=shim;a=tree;f=/vim
>
> I don't think I will spend much more time working on this, but
> if anyone wants to try it out or improve it,  I would be happy
> to answer questions and review patches.

thanks, i too had been wondering about the "vim and" part of shim,
especially about the interprocess communication. you're using vim's
python embedding for that, but many vim users won't have python.
more importantly: is that python solution (using unix sockets portable,
ie, would it work for windows vim users if they were asked to install
python for that purpose?

claus

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Benedikt Schmidt
"Claus Reinke" <[hidden email]> writes:

>> I use emacs exclusively for hacking Haskell, but I wanted to see
>> if it's possible to connect to the shim server-process from vim
>> and started working on omnicompletion:
>> http://shim.haskellco.de/trac/attachment/wiki/ScreenShots/vim-shim.png
>> http://shim.haskellco.de/trac/wiki/ShimVim
>> http://darcsweb.haskellco.de/darcsweb.cgi?r=shim;a=tree;f=/vim
>> I don't think I will spend much more time working on this, but
>> if anyone wants to try it out or improve it,  I would be happy
>> to answer questions and review patches.
>
> thanks, i too had been wondering about the "vim and" part of shim,
> especially about the interprocess communication. you're using vim's
> python embedding for that, but many vim users won't have python.

I'm not sure if it's possible to use the vim scripting language for
that, but i used the python embedding so that I could base everything
on the python omnicompletion.

> more importantly: is that python solution (using unix sockets
> portable, ie, would it work for windows vim users if they were asked
> to install python for that purpose?

I don't think it's portable, but Tim Newsham added support
for TCP sockets to the haskell and emacs side and it should be
pretty easy to adapt the python vim script.
Of course, you have to be careful with TCP since you can't use
file permissions to make sure that nobody else connects to the
socket.

Thanks,
  Benedikt

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Georg Sauthoff-3
In reply to this post by Marc Weber
On 2007-04-22, Marc Weber <[hidden email]> wrote:

Hi,

> I've written some completion scripts for vim. Don't know wether you can
> call it an ide. Also tagging source is supported by one command.

what tagging program do you use?

> With a little effort you can configure vim to create a new cabal project
> using one command some settings, too.

> If you're interested drop me a mail.
> You can see some screenshots here http://www.mawercer.de/marcweber/vim/ss/vim/

I am interested as well - just upload it somewhere (or mail me, if
preferred).

Best regards
Georg Sauthoff

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: Re: IDE support

Marc Weber
On Fri, Apr 27, 2007 at 08:05:53PM +0000, Georg Sauthoff wrote:
> On 2007-04-22, Marc Weber <[hidden email]> wrote:
>
> Hi,
>
> > I've written some completion scripts for vim. Don't know wether you can
> > call it an ide. Also tagging source is supported by one command.
>
> what tagging program do you use?
I'm using hasktags beeing distributed with ghc. There has been another
topic about tagging programs for haskell some time ago.

You can find some basic installation instructions here..
http://www.mawercer.de/marcweber/vimlib_haskell.html

But it's a little bit out of date.
I'll work on it again next week.  
(I don't know how much I'll continue working
on improving the vim scripts because I should hack vim to make it haskell
scriptable .. ;) Then this kind of hacking will be both: faster and better

The files beeing created are now located in ~/vl_store .
Function completion
should work out of the box (as long as you only want to complete functions
defined in current buffer).
 
You can see a lot of
AddTabCompletion '\s+\w\s*"$' '' ' ++' 'ts'
lines. The syntax has changed. see vl_repo/ftplugin/haskell_vimlib.vim for examples.

To create tags use
:TagCurrentDirTagGroupHaskell (use this to update tags as well)
and use
:ModuleCacheAddCurrentDir
to add all modules to the list of know modules (those will be used for completion regardless of you .cabal whatsoever settings)


If you run into any trouble don't hesitate to ask.

If you want I can show you how to set it up in a shared ssh session.

Marc
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE support

Georg Sauthoff-3
On 2007-04-28, Marc Weber <[hidden email]> wrote:
> On Fri, Apr 27, 2007 at 08:05:53PM +0000, Georg Sauthoff wrote:
>> what tagging program do you use?
> I'm using hasktags beeing distributed with ghc. There has been another
> topic about tagging programs for haskell some time ago.

Yes, the latest threads are:
http://article.gmane.org/gmane.comp.lang.haskell.cafe/19001/
http://article.gmane.org/gmane.comp.lang.haskell.cafe/10396/

The last time I looked for haskell tag tools - hasktag, etc. looked a
bit limitated for my use and thus I hacked my own tool - looking at the
threads, it seems, that I am not alone ;).

> You can find some basic installation instructions here..
> http://www.mawercer.de/marcweber/vimlib_haskell.html

Thanks.

> But it's a little bit out of date.
> I'll work on it again next week.  
> (I don't know how much I'll continue working
> on improving the vim scripts because I should hack vim to make it haskell
> scriptable .. ;) Then this kind of hacking will be both: faster and better

Fair enough.

[..]
> If you run into any trouble don't hesitate to ask.
[..]

Great, but it looks manageable.

Best regards
Georg Sauthoff

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe