IDE?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
137 messages Options
1234 ... 7
bf3
Reply | Threaded
Open this post in threaded view
|

IDE?

bf3
I've searched the internet for an Haskell IDE that supports the following:

- syntax highlighting
- cross module refactoring
- quick navigation (goto symbol, goto instance, find usages, etc)
- code completion
- "debugging" (not imperative debugging, so no breakpoints, but just
plugging in a visualizer/pretty printer for a function in a separate
dedicated window, like what http://www.apple.com/shake does on each "node")

So a bit what Jetbrains Resharper does for Visual Studio, but for Haskell.
IntelliJ and Eclipse also do this for Java.

This does not seem to exist? If this is correct, this is a real shame,
because although I read that the productivity increases a lot when correctly
using Haskell, it would increase even more when such an IDE is available.

Any help to find an IDE that comes closest to these features would be much
appreciated.

Thanks,
Peter


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

Re: IDE?

Sebastian Sylvan


On 15/06/07, [hidden email] <[hidden email]> wrote:
I've searched the internet for an Haskell IDE that supports the following:

- syntax highlighting
- cross module refactoring
- quick navigation (goto symbol, goto instance, find usages, etc)
- code completion
- "debugging" (not imperative debugging, so no breakpoints, but just
plugging in a visualizer/pretty printer for a function in a separate
dedicated window, like what http://www.apple.com/shake does on each "node")

So a bit what Jetbrains Resharper does for Visual Studio, but for Haskell.
IntelliJ and Eclipse also do this for Java.

This does not seem to exist? If this is correct, this is a real shame,
because although I read that the productivity increases a lot when correctly
using Haskell, it would increase even more when such an IDE is available.

Any help to find an IDE that comes closest to these features would be much
appreciated.

Visual Haskell is an add-in for visual studio that does some of that...
http://www.haskell.org/visualhaskell/
 
It's certainly not "complete" though, but I do think it's still being developed on and off (someone correct me if I'm wrong!).
I'd love to see this shape up into something a bit more useable, but I don't have the time to contribute myself...




--
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: IDE?

Marc Weber
In reply to this post by bf3
On Fri, Jun 15, 2007 at 11:38:17PM +0200, [hidden email] wrote:
> I've searched the internet for an Haskell IDE that supports the following:
Goto haskell.org -> Applications and libraries -> Editros written in
Haskell and Editors for haskell.
Also have look at the haskell-cafe mailinglist archive.
This has been discussed recently.
But you are right. I'm no longer able to find the page giving a
comprehensive list of editor support on haskell.org. Either it's to late
or it is gone.
> - syntax highlighting
Many editors do support this. (JEdit, vim, emacs, kedit,..)
> - quick navigation (goto symbol, goto instance, find usages, etc)
using tags I know that jEdit, vim and emacs do support this. I'm sure
many others do as well
> - cross module refactoring
Search haskell.org for refactoring. There are some applications.
But I can't tell you how well they are integrated within editors.
> - code completion
For visual studio there exists a pretty complete ide.
there is eclipsefp for haskell and OCaml.

I've written some kind of function and module completion for vim.
When importing many files it gets too slow.
There doe exist two different approaches (search for them in the
mailinglist archive.. ) eg http://www.google.com/search?client=opera&rls=en&q=haskell-cafe+ide&sourceid=opera&ie=utf-8&oe=utf-8

> This does not seem to exist? If this is correct, this is a real shame,
You are invited to write one ;)

I'm sure that you'll get a lot of additional replies pointing you to
more information

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

Re: IDE?

Thomas Schilling-2
In reply to this post by bf3
Yes this is kind of sad.  FWIW, here's how I currently approximate  
these features using Emacs + Haskell mode:

On 15 jun 2007, at 23.38, <[hidden email]> wrote:

> I've searched the internet for an Haskell IDE that supports the  
> following:
>
> - syntax highlighting

haskell mode

> - cross module refactoring

there is HaRe, haven't tried it.

changing a function's type and then recompiling gives you a pretty  
useful todo-list though.  :)

> - quick navigation (goto symbol,

if you run hasktags you can use M-.

> goto instance,

not sure, maybe one could cook something up using grep or even hasktags

> find usages, etc)

M-x grep RET downarrow RET


> - code completion

either you use shim or the built-in M-/, which completes everything  
(not semantically sensitive, though)

> - "debugging" (not imperative debugging, so no breakpoints, but just
> plugging in a visualizer/pretty printer for a function in a separate
> dedicated window, like what http://www.apple.com/shake does on each  
> "node")

i don't know shake, can you explain a bit more?

ghc HEAD has the ghci debugger, haven't tried it

>
> So a bit what Jetbrains Resharper does for Visual Studio, but for  
> Haskell.
> IntelliJ and Eclipse also do this for Java.
>
> This does not seem to exist? If this is correct, this is a real shame,
> because although I read that the productivity increases a lot when  
> correctly
> using Haskell, it would increase even more when such an IDE is  
> available.

i agree

/ Thomas


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

Re: IDE?

Claus Reinke
In reply to this post by bf3

> I've searched the internet for an Haskell IDE that supports the following:

my first reaction was: he can't be serious, not that again!-) however, i
tried to find the info by the "obvious" means, and found that to be a rather
sobering experience.

a simple google search does give rather a few relevant answers, but there
are entries on haskell.org that i've just had difficulty finding again, even
though i knew they were there.

i still can't help feeling that using google *and* haskell.org's own search
should have given some more results than the poster seems to be aware
of, but it also seems obvious that we have some serious barriers to finding
such info at the moment:

    - external search engines are currently banned from indexing the wiki,
        where much useful haskell info resides, so one does need to use
        the internal search as well, to find wiki content.

        perhaps the haskell.org main page should emphasise that and also
        repeat the call for volunteers to fix the issue (there was something
        like a consensus to try moving the dynamic parts of the wiki to a
        distinguishable prefix, and banning search engines only from
        that particular part; but someone needs to implement that and
        monitor the effects).

    - the current organisation of wiki indexing seems suboptimal. ide
        related content used to be easier to find, but is now somewhat
        spread out. debugging tools seem to have disappeared completely
        from the most likely indexes (instead one finds some debug libs)?

        the most "obvious" wiki pages are often not uptodate/complete,
        the most "obvious" index headings do not lead to "important"
        entries quickly (or at all). information is sometimes spread out
        over several similar pages/index groups. all of which means that
        information might be difficult to find, and finding a partial source
        of information will miss out on much of the available info.

in best Prolog tradition, perhaps you could say where you've searched,
and someone (i'm calling all of you active haskell.org wiki volunteers:-)
might find a way to put a link to the info right where people are looking?-)

> - syntax highlighting
> - quick navigation (goto symbol, goto instance, find usages, etc)
> - code completion

http://www.google.com/search?q=haskell+ide

http://www.haskell.org/haskellwiki/Applications_and_libraries/Program_development
(i would have expected to see the debuggers linked from that one?)

there's the also obviously named http://www.haskell.org/haskellwiki/IDE ,
but that seems to be in need of an update?

> - cross module refactoring

http://www.haskell.org/haskellwiki/Refactoring
http://www.haskell.org/haskellwiki/Applications_and_libraries/Program_development#Program_Transformation

(hare had vim and emacs interfaces to a gui-less backend, as well as
 an api for writing new refactorings; the idea was that people could
 write interfaces to that backend for their own ide/editor, and submit
 code for additional refactorings; hare's main drawbacks were that
 it is limited to standard haskell [haskell 98], and needs all sources,
 both of which are unlikely in a ghc-based production environment;
 but if you can live with those constraints, it is great [bias warning;-])

> - "debugging" (not imperative debugging, so no breakpoints, but just

there is the obviously named http://www.haskell.org/haskellwiki/Debugging ,
but it doesn't mention all tools. for instance, i only found the following

    "Some Hat user should complete this section"

because i was searching for hat on that page ( http://www.haskell.org/hat/ )

> This does not seem to exist? If this is correct, this is a real shame,

you will need to combine tools, roughly according to the three groups
used above, the first being covered by several good programmable editors,
via haskell-specific modes and plugins, the second by backend tools like
hare (also pluggable into editors), the third by various tools and libraries. the
main limitation of most tools will be haskell 98, as they were developed
before haskell systems offered haskell apis. that age factor also means
that some of those tools might need to be updated for current compilers/
libraries.

> Any help to find an IDE that comes closest to these features would be much
> appreciated.

please help to make the information more easily findable in future.
summarize answers or, even better, improve the haskell.org wiki!-)

hth,
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?

Claus Reinke
> my first reaction was: he can't be serious, not that again!-) however, i
> tried to find the info by the "obvious" means, and found that to be a rather
> sobering experience.

it is also no longer obvious that "Communities and active projects" is
not just a topic for the four subheadings, but in itself a link worth following,
with 6-monthly reports of all things haskell.. [most recent: may 2007]

here's the index for the latest edition (also browse a few older editions
for tools/libs that were completed more than a year ago, but might
still work, or be revivable):

http://haskell.org/communities/05-2007/html/index.html

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?

Ashley Yakeley
In reply to this post by bf3
[hidden email] wrote:

> Any help to find an IDE that comes closest to these features would be much
> appreciated.

There's a short list at <http://haskell.org/haskellwiki/IDEs>, but I
don't think any are all that close. I'd like to see a good IDE for
Haskell, but it's a lot of work.

Ideally it would use the .cabal file as its "project file", so that one
could take any Cabal project and double-click on the .cabal file to open
the project in the IDE. Also I think we could borrow some ideas from
Apple's Dylan IDE
<http://www.haskell.org/pipermail/haskell-cafe/2007-May/025791.html>.

--
Ashley Yakeley

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

Re: IDE?

David House
In reply to this post by bf3
[hidden email] writes:
 > - syntax highlighting
 > - quick navigation (goto symbol, goto instance, find usages, etc)
 > - code completion

Emacs with haskell-mode can do this.

 > - cross module refactoring

Refactoring doesn't feature as heavily in Haskell workflow as, say, Java,
just because of the differing natures of the language (e.g. Haskell features
more powerful polymorphism). So you can pretty much get by without refactoring
tools, although some do exist. HaRe, for example, has Emacs integration.

 > - "debugging" (not imperative debugging, so no breakpoints, but just
 > plugging in a visualizer/pretty printer for a function in a separate
 > dedicated window, like what http://www.apple.com/shake does on each "node")

Debugging in Haskell is a bit of a no-show for now. There's some support in the
latest versions of GHCi, but I don't think it's very mature.

-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?

Marc Weber
In reply to this post by Marc Weber
> comprehensive list of editor support on haskell.org. Either it's to late
> or it is gone.
No, it's still there:
http://haskell.org/haskellwiki/Applications_and_libraries -> Program
developement -> Editor support

Perhaps a link to this should be made on the front page?
This is a topic every newcomer is interested in.
What do you think?

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

RE: IDE?

bf3
In reply to this post by Thomas Schilling-2
Thank for the reply.

I'll try the emacs approach (or better Xemacs because Emacs on Windows has
really ugly font smoothing), but I must say that - being an old school
object-oriented programmer who got spoiled by fully integrated IDEs like
Borland's TurboPascal, Microsoft Visual Studio, and Eclipse - switching to
emacs or VIM is not an easy task :) Even on the commodore 64 I used a mini
IDE for writing 6502 assembler ;)

About Apple's Shake: this is a flow-graph based image composition package.
It's like a tiny bit of functional programming (limited to images as
values), represented as a graphical acyclic graph of functional nodes. Each
of these nodes computes a result, and this result can be visualized by
clicking on a button on each node, so you can "debug" the output of any
node. An Haskell IDE could do the same for functions (it's like dynamically
adding an "unsafePerformIO print" to the selected function). And then like
Visual Studio one should be able to write "debugger visualizers"
http://msdn2.microsoft.com/en-us/library/zayyhzts(VS.80).aspx

Peter


-----Original Message-----
From: Thomas Schilling [mailto:[hidden email]]
Sent: Saturday, June 16, 2007 12:47 AM
To: [hidden email]
Cc: [hidden email]
Subject: Re: [Haskell-cafe] IDE?

Yes this is kind of sad.  FWIW, here's how I currently approximate  
these features using Emacs + Haskell mode:

On 15 jun 2007, at 23.38, <[hidden email]> wrote:

> I've searched the internet for an Haskell IDE that supports the  
> following:
>
> - syntax highlighting

haskell mode

> - cross module refactoring

there is HaRe, haven't tried it.

changing a function's type and then recompiling gives you a pretty  
useful todo-list though.  :)

> - quick navigation (goto symbol,

if you run hasktags you can use M-.

> goto instance,

not sure, maybe one could cook something up using grep or even hasktags

> find usages, etc)

M-x grep RET downarrow RET


> - code completion

either you use shim or the built-in M-/, which completes everything  
(not semantically sensitive, though)

> - "debugging" (not imperative debugging, so no breakpoints, but just
> plugging in a visualizer/pretty printer for a function in a separate
> dedicated window, like what http://www.apple.com/shake does on each  
> "node")

i don't know shake, can you explain a bit more?

ghc HEAD has the ghci debugger, haven't tried it

>
> So a bit what Jetbrains Resharper does for Visual Studio, but for  
> Haskell.
> IntelliJ and Eclipse also do this for Java.
>
> This does not seem to exist? If this is correct, this is a real shame,
> because although I read that the productivity increases a lot when  
> correctly
> using Haskell, it would increase even more when such an IDE is  
> available.

i agree

/ Thomas



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

RE: IDE?

David House
PeterV writes:
 > I'll try the emacs approach (or better Xemacs because Emacs on Windows has
 > really ugly font smoothing), but I must say that - being an old school
 > object-oriented programmer who got spoiled by fully integrated IDEs like
 > Borland's TurboPascal, Microsoft Visual Studio, and Eclipse - switching to
 > emacs or VIM is not an easy task :)

Switching to Emacs will never be an easy task (I think the quote is "A learning
curve you can use as a plumb line"), but once you have, I very much doubt you'll
ever want to go back to anything else. :) The Emacs tour [1] (newer beta version
also available [2]) give a quick flavour of why you might fall in love with
Emacs.

[1]: http://www.gnu.org/software/emacs/tour/
[2]: http://stuff.mit.edu/iap/emacs/emacs-guided-tour-1.html

By the way, ClearType support works fine in Emacs 22. I understand there is one
small rendering glitch related to font-lock (some columns of pixels are
truncated, see [3]), but it's most definitely usable.

[3]: http://img266.imageshack.us/img266/1254/emacscleartypebugdg9.png

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

RE: IDE?

bf3
In reply to this post by Claus Reinke
Sorry I should have mentioned that I actually did all those searches you
provided, and read the wiki. I've been searching the internet for 6 months
now. I'm a professional software developer with 20 years of experience. I
actually (co-)developed integrated IDEs for visual programming languages,
type inferers, some refactoring tools, a version control system, some
compilers and linkers, and some commercial videogames for Commodore 64,
Amiga, PC, XBOX, PS2 and PS3. Now that I get to learn Haskell, I noticed
that I've always programmed in a horribly ugly, imperative/OO way ;) So I'm
not really a rookie, although I'm indeed a complete Haskell newby :)

I've tried VIM, Emacs, asked Rhinosoft for an evaluation (which I did not
get), tried the Eclipse plugin (can't get it to work on 3 PCs I tried),
tried Visual Haskell (incomplete, sometimes crashes or hangs Visual Studio),
an briefly looked at other alpha-level solutions. Currently I'm using
"Notepad++", which just does basic syntax highlighting but is usable out of
the box for a Windows programmer.

The point I wanted to make is, that I can't find an
easy-to-install-ready-to-use-and-rock-n-roll IDE for Windows that comes with
all or most of those features. I mean something like Borland TurboPascal
from the 80's, Visual Studio 2005, IntelliJ IDEA or Eclipse. I know that
people with a UNIX background have a completely different point of view on
this (they like separate tools they can fully configure).

IMHO Haskell - although old - has a lot of potential that is rather
difficult to reach for "spoiled MTV generation inpatient plug-and-play
Windows programmers"... The people from Microsoft seem to understand that;
they made an excellent Visual Studio plugin for their F# research language.
Although far from perfect, this plugin works better for me than say Visual
Haskell. As I know most of the .NET framework, F# is still an option me, but
I'm tackling Haskell first, as it is pure and lazy (and I am the latter but
not the former ;-)

Cheers,
Peter

BTW: I also looked at UNICODE editor support (like Fortress), so it would
bring Haskell a step closer to mathematical notation (all Haskell books
already use UNICODE for their Haskell examples). Yes, this is also on the
wiki, but again, I fail to do something practical.

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Claus Reinke
Sent: Saturday, June 16, 2007 1:18 AM
To: [hidden email]
Subject: Re: [Haskell-cafe] IDE?


> I've searched the internet for an Haskell IDE that supports the following:

my first reaction was: he can't be serious, not that again!-) however, i
tried to find the info by the "obvious" means, and found that to be a rather
sobering experience.

a simple google search does give rather a few relevant answers, but there
are entries on haskell.org that i've just had difficulty finding again, even
though i knew they were there.

i still can't help feeling that using google *and* haskell.org's own search
should have given some more results than the poster seems to be aware
of, but it also seems obvious that we have some serious barriers to finding
such info at the moment:

    - external search engines are currently banned from indexing the wiki,
        where much useful haskell info resides, so one does need to use
        the internal search as well, to find wiki content.

        perhaps the haskell.org main page should emphasise that and also
        repeat the call for volunteers to fix the issue (there was something
        like a consensus to try moving the dynamic parts of the wiki to a
        distinguishable prefix, and banning search engines only from
        that particular part; but someone needs to implement that and
        monitor the effects).

    - the current organisation of wiki indexing seems suboptimal. ide
        related content used to be easier to find, but is now somewhat
        spread out. debugging tools seem to have disappeared completely
        from the most likely indexes (instead one finds some debug libs)?

        the most "obvious" wiki pages are often not uptodate/complete,
        the most "obvious" index headings do not lead to "important"
        entries quickly (or at all). information is sometimes spread out
        over several similar pages/index groups. all of which means that
        information might be difficult to find, and finding a partial source
        of information will miss out on much of the available info.

in best Prolog tradition, perhaps you could say where you've searched,
and someone (i'm calling all of you active haskell.org wiki volunteers:-)
might find a way to put a link to the info right where people are looking?-)

> - syntax highlighting
> - quick navigation (goto symbol, goto instance, find usages, etc)
> - code completion

http://www.google.com/search?q=haskell+ide

http://www.haskell.org/haskellwiki/Applications_and_libraries/Program_develo
pment
(i would have expected to see the debuggers linked from that one?)

there's the also obviously named http://www.haskell.org/haskellwiki/IDE ,
but that seems to be in need of an update?

> - cross module refactoring

http://www.haskell.org/haskellwiki/Refactoring
http://www.haskell.org/haskellwiki/Applications_and_libraries/Program_develo
pment#Program_Transformation

(hare had vim and emacs interfaces to a gui-less backend, as well as
 an api for writing new refactorings; the idea was that people could
 write interfaces to that backend for their own ide/editor, and submit
 code for additional refactorings; hare's main drawbacks were that
 it is limited to standard haskell [haskell 98], and needs all sources,
 both of which are unlikely in a ghc-based production environment;
 but if you can live with those constraints, it is great [bias warning;-])

> - "debugging" (not imperative debugging, so no breakpoints, but just

there is the obviously named http://www.haskell.org/haskellwiki/Debugging ,
but it doesn't mention all tools. for instance, i only found the following

    "Some Hat user should complete this section"

because i was searching for hat on that page ( http://www.haskell.org/hat/ )

> This does not seem to exist? If this is correct, this is a real shame,

you will need to combine tools, roughly according to the three groups
used above, the first being covered by several good programmable editors,
via haskell-specific modes and plugins, the second by backend tools like
hare (also pluggable into editors), the third by various tools and
libraries. the
main limitation of most tools will be haskell 98, as they were developed
before haskell systems offered haskell apis. that age factor also means
that some of those tools might need to be updated for current compilers/
libraries.

> Any help to find an IDE that comes closest to these features would be much
> appreciated.

please help to make the information more easily findable in future.
summarize answers or, even better, improve the haskell.org wiki!-)

hth,
claus

_______________________________________________
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?

Claus Reinke
> Sorry I should have mentioned that I actually did all those searches you
> provided, and read the wiki.

ok, then it is a different story, needing different answers:-) in particular,
you have found tools doing all the things you asked for, but they either
had issues (please report them, to the tool authors/maintainers, or here),
or did not provide some features you need (again, specific questions
might turn up hidden features/tools, or influence further development).
or they have just not been integrated.

> I've tried VIM, Emacs, asked Rhinosoft for an evaluation (which I did not
> get), tried the Eclipse plugin (can't get it to work on 3 PCs I tried),
> tried Visual Haskell (incomplete, sometimes crashes or hangs Visual Studio),
> an briefly looked at other alpha-level solutions.

yes, that Rhinosoft entry was a surprise, until i noticed the date;), and
the simple fact that there are so many options, all with their own issues,
pros&cons, can be off-putting. probably best to choose one, and take
it all the way it can go.

here's an idea for an adventurous soul: perhaps someone who hasn't
yet committed to any specific ide/editor could do a survey of available
haskell development tools (well, okay, at least the editing/ide side of
that), state of the art, pros&cons, selection advice, etc?

> Currently I'm using "Notepad++", which just does basic syntax
> highlighting but is usable out of the box for a Windows programmer.

that suggests to me that following either the emacs or the vim route
should give you a substantial improvement - the feature equivalent
should work out of the box, and simple addons should cover more
of your feature requests. as others have pointed out, both require
an investment in learning, and using either might be addictive (and
they stay with you into the next great thing/platform/language).

to complement the emacs tour link, and since this question comes
up so often,-) a tour of a few vim features, adapted for haskell:

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

> The point I wanted to make is, that I can't find an
> easy-to-install-ready-to-use-and-rock-n-roll IDE for Windows
> that comes with all or most of those features.

well, it would be nice to have a standard integrated release of the
major tools, preferable all behind a graphically and ergonomically
well-designed front, but with limited resources and free availability,
functionality comes first (although the Hat folks have tried to collect
and integrate all the various haskell debugging options, for example).

occasionally, there has been talk of a 'haskell cd', where the issue
is not the medium of distribution, but the coordination, testing and
integration of releases for the various tools, libs, and docs. that
hasn't happened yet (it would be a lot of work for someone, and
by the time they finished, development would have moved on),
but it might still be a worthwhile thing to try, especially given the
growing number of haskell users, tools, and libraries..

as far as gui frontends are concerned, there is an ongoing google
summer of code project; will be interesting to see how far that gets:

http://neilmitchell.blogspot.com/2007/04/soc-guihaskell.html

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?

David House
In reply to this post by bf3
[hidden email] writes:
 > The point I wanted to make is, that I can't find an
 > easy-to-install-ready-to-use-and-rock-n-roll IDE for Windows that comes with
 > all or most of those features. I mean something like Borland TurboPascal
 > from the 80's, Visual Studio 2005, IntelliJ IDEA or Eclipse.

Would you rather have a different editor for every language, and be forced to
learn new editor paradigms, keyboard shortcuts, tools and so on, or have one
editor for every language? This is one of Emacs's greatest strengths, IMO: it
can handle _everything_.

--
-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?

Andrew Coppin
In reply to this post by David House
David House wrote:
> Switching to Emacs will never be an easy task (I think the quote is "A learning
> curve you can use as a plumb line"), but once you have, I very much doubt you'll
> ever want to go back to anything else. :) The Emacs tour [1] (newer beta version
> also available [2]) give a quick flavour of why you might fall in love with
> Emacs.
>  

Dude... somebody should write the world's next killer editor in Haskell,
just to show how awsome Haskell is!

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

Re: IDE?

David House
Andrew Coppin writes:
 > Dude... somebody should write the world's next killer editor in Haskell,
 > just to show how awsome Haskell is!

Yi [1] does exist, with roughly this aim. Why not contribute an afternoon's
hacking?

[1]: http://haskell.org/haskellwiki/Yi

However, one of the reasons that Emacs is so great is the absolute wealth of
libraries available for it. It's been aroud a long time and people like it a lot
so there's pretty much an Emacs Lisp library to integrate _any_ tool, to help
editing _any_ kind of source/configuration file etc. It would take many
lifetimes to replicate this in a different language.

I've thought a little about writing a Haskell → Elisp compiler, so that people
could contribute to Emacs by writing Haskell, but I've got doubts about its
feasibility.

--
-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?

Andrew Coppin
David House wrote:
> Andrew Coppin writes:
>  > Dude... somebody should write the world's next killer editor in Haskell,
>  > just to show how awsome Haskell is!
>
> Yi [1] does exist, with roughly this aim.

Yes, I've read about Yi once or twice. And yet, I still find myself
puzzled as to what it actually *is*, what it's meant to do, what's
supposed to be good about it, and how to actually obtain it so I can
even try it out.

> Why not contribute an afternoon's hacking?
>  

1. I'm not good enough.

2. I'll never be able to find my way around the source code.

> However, one of the reasons that Emacs is so great is the absolute wealth of
> libraries available for it. It's been aroud a long time and people like it a lot
> so there's pretty much an Emacs Lisp library to integrate _any_ tool, to help
> editing _any_ kind of source/configuration file etc. It would take many
> lifetimes to replicate this in a different language.
>  

"Emacs? That's not a text editor - it's an *operating system*!"

Personally, I really hate text-mode editors. (I won't even go into how
many times I've had to reboot Linux just to get *out* of Vi!) What I
want is something more friendly. Currently my tool of choice is SciTE -
but it's an absolute pain to configure. (1. There is no GUI. You must
edit the config file manually. 2. The documentation is very minimal.)
It's also not particularly flexible.

What I would *really* like is a nice big IDE... but it seems there isn't
one for Haskell. :-(

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

Re: IDE?

David House
Andrew Coppin writes:
 > > Why not contribute an afternoon's hacking?
 > >  
 >
 > 1. I'm not good enough.

How do you intend to remedy that, apart from by writing Haskell code? Start
small, fix small typos or bugs, and build it up from there. Seriously, just give
it a go, I doubt any of your patches will be rejected out of hand. Rather,
you'll get comments on your coding style which will help you become a better
programmer.

 > Personally, I really hate text-mode editors. (I won't even go into how
 > many times I've had to reboot Linux just to get *out* of Vi!)

'Z Z' is the command to quit vi, right?

 > What I would *really* like is a nice big IDE... but it seems there isn't
 > one for Haskell. :-(

This was my attitude, too, for a long time when I started to learn Haskell. I'd
only heard that Emacs was hard to get used to, hard to use, and somewhat
old-fashioned. Seeing as there was nothing better, I decided to spend a weekend
learning Emacs and count it as a life skill, as my productivity was sure to
increase. What did I find out? Well, the first of those complaints is true,
there's no doubting that, but the second isn't really and the third most
certainly not. It might not be the most conformist of editors but that doesn't
make it old-fashioned, nor arcane, nor irrelevant.

Give it a go. Start out with the Emacs tutorial [1] so that you have your feet
on solid ground, then jump to the Emacs tour [2] to whet your appetite to the
breadths of features that Emacs provides.

[1]: Use C-h t (hold Ctrl, press h, then let go of both and press t) inside
Emacs
[2]: http://www.gnu.org/software/emacs/tour/

--
-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?

Claus Reinke
In reply to this post by David House
> However, one of the reasons that Emacs is so great is the absolute wealth of
> libraries available for it. It's been aroud a long time and people like it a lot
> so there's pretty much an Emacs Lisp library to integrate _any_ tool, to help
> editing _any_ kind of source/configuration file etc. It would take many
> lifetimes to replicate this in a different language.

see also the history section in Luke Gorrie's Distel paper:

    http://fresh.homeunix.net/~luke/distel/distel-euc.pdf

    This was followed by Ermacs, a concurrent
    Emacs clone written completely in Erlang. Ermacs
    is fairly complete – it has major modes for
    Erlang and Scheme programming, a built-in Erlang
    shell, and support for efficiently editing large
    files. However, once the core editor was complete,
    it was obvious that GNU Emacs has an incredibly
    large set of wonderful features, and that extending
    Ermacs to include “enough” of them was
    completely out of the question.
    The lessons learned from Ermacs lead to Distel,..

how is Yi going to avoid that trap?

> I've thought a little about writing a Haskell -> Elisp compiler, so that people
> could contribute to Emacs by writing Haskell, but I've got doubts about its
> feasibility.

Luke's Distel seems to have been very successful for
erlang <-> emacs interaction, enabling erlang modes for emacs
to be written in erlang, with tools that actually understand
erlang. this seems to suggest that easy communication with
some good-haskell-system-api-based haskell code might
be a promising equivalent?

    http://fresh.homeunix.net/~luke/distel/

both emacs and vim can pass buffer segments and editing
session information to external (haskell) code, working as
text or file transformers, and both emacs and vim can be
controlled by such external code. so haskellers can already
use haskell to extend emacs/vim functionality, it just isn't
very convenient when it goes beyond transforming text.

i would much prefer if vim exposed a standard ffi, instead
of all those specific bindings to popular scripting languages
and tools, but even without a proper ffi, haskell code
cooperating with vim script can already be written. and
similarly for emacs, i suspect.

so it may just be a matter of doing less of the ide work in
elisp/vimscript, and of introducing an explicit interface
for inter-process communication between the editor frontend
and some haskell-system-api-based backend.

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?

Andrew Coppin
In reply to this post by David House
David House wrote:

> Andrew Coppin writes:
>  > > Why not contribute an afternoon's hacking?
>  >
>  > 1. I'm not good enough.
>
> How do you intend to remedy that, apart from by writing Haskell code? Start
> small, fix small typos or bugs, and build it up from there. Seriously, just give
> it a go, I doubt any of your patches will be rejected out of hand. Rather,
> you'll get comments on your coding style which will help you become a better
> programmer.
>  

I used to have these delusions that "open source" would mean that one
day I would be helping people develop actual software, rather than just
tinkering on my own.

Of course, back then the problem was that all "real world" software is
written in C or C++ (or both), and these are amoung the tiny number of
computer languages that I have repeatedly *failed* to learn. (Typially
it takes me a day or two to learn a new language. There are very few
that I actually *failed* to learn.)

And then I discovered Haskell. If programming languages were weapons of
war, programming in BASIC would be equivilent to telling somebody they
look fat, C would be like throwing pebbles at them, Java would be like
throwing a grenade, Eiffel would be like using an AK-47, and Haskell
would be a large thermonuclear warhead. (!) Quite simply, all lesser
languages pale into insignificance before the almighty power of Haskell.

Finally I thought I would be able to do great things. After all, in
Haskell, every concievable problem can be solved in 3 lines of code or
less. (Sometimes A LOT less.)

And then I had a look at the source code for GHC, and I was shocked. The
program is *thousands* of lines long - despite being written in Haskell,
the most powerful programming language that has ever existed. Now
considering that even the hardest problems that mortal minds can
comprehend can be solved in a page of code or less, it instantly follows
that any problem that requires *more* than 1 page of Haskell code must
be complex beyond the powers of mortal comprehension. And by induction,
any task that requires *hundreds* let alone *thousands* of lines of code
must be comprehensible only by the greatest minds in all of humanity.

Obviously, I am not such a mind. It's nice to think that one day I will
be... but let's be real here. It's not going to happen.

I realised then that trying to do anything with the GHC source code was
a hopeless endevour. Indeed, most Haskell programs I look at are a
similar picture...

>  > Personally, I really hate text-mode editors. (I won't even go into how
>  > many times I've had to reboot Linux just to get *out* of Vi!)
>
> 'Z Z' is the command to quit vi, right?
>  

Sometimes. Sometimes it just types "zz" in the document. It depends on
the alignment of the planets.

(Of course, now I know about "virtual terminals", I've learned how to
switch to another terminal so I can look up the PID for Vi, and then I
can kill it that way. None of which helps me edit files in any way... I
really hate it when Vi is the only editor I have access to!)

>  > What I would *really* like is a nice big IDE... but it seems there isn't
>  > one for Haskell. :-(
>
> This was my attitude, too, for a long time when I started to learn Haskell. I'd
> only heard that Emacs was hard to get used to, hard to use, and somewhat
> old-fashioned. Seeing as there was nothing better, I decided to spend a weekend
> learning Emacs and count it as a life skill, as my productivity was sure to
> increase. What did I find out? Well, the first of those complaints is true,
> there's no doubting that, but the second isn't really and the third most
> certainly not. It might not be the most conformist of editors but that doesn't
> make it old-fashioned, nor arcane, nor irrelevant.
>
> Give it a go. Start out with the Emacs tutorial [1] so that you have your feet
> on solid ground, then jump to the Emacs tour [2] to whet your appetite to the
> breadths of features that Emacs provides.
>  

It's a text-mode editor. quod erat demonstrandum.

Since it only operates in text-mode, it cannot possibly provide things
like clickable fold points, or a side-bar containing a bunch of icons
representing the objects in the current file, or a spell checker, or an
interactive debugger, or any of those other features that require a GUI.
(I am *really* not a fan of ASCII art "graphical" user interfaces.)

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