[Haskell-cafe] [haskell-cafe] Some reflections on Haskell

Christoph Breitkopf chbreitkopf at googlemail.com
Thu Feb 16 18:21:59 CET 2012

Since people are mentioning how great the Haskell type system is for
refactoring, here's  one of those "wow, that's really great" experiences I
just had hacking on some Java code in Eclipse. I wanted to remove duplicate
code, so I selected one of the duplications and used Refactor->Extract
method. To my astonishment and delight, Eclipse also automatically replaced
all duplications with a call to the new method. It's things like that which
make me really like advanced IDEs and sometimes choose a "lesser" language
with better IDE support (the code in question was actually backported from
Scala, because the pains of a Java+Scala project far outweighed the gains).

It does not matter that much when writing new small to mid-size programs,
but when working in a larger codebase, or inside frameworks (Yesod might be
an example in the Haskell world), I'll take any help I can get, even if
it's only autocomplete and suggestions based on type. And the larger the
ecosystem gets, the more important that will become.

Apart from the IDE matter, I'd also would like to see some sort of rating
system on Hackage, or at least some support to choose between the available
packages. Indicators might be popularity, actively maintained, age, ...
Many participants in Johan Tibell's survey seemed to want something along
these lines.

Just my 2 cents,

On Tue, Feb 14, 2012 at 8:05 PM, Alejandro Serrano Mena
<trupill at gmail.com>wrote:

> Hi,
> 2012/2/14 Doug McIlroy <doug at cs.dartmouth.edu>
>> Kevin Jardine notices "the full Haskell ecosystem ... is huge", and
>> laments the absence of "a sophisticated IDE to help manage" it.
>> Being a small-code type, I don't personally enjoy IDE's, which
>> are undeniably useful in big projects, at the cost of a whole lot
>> more to learn about "programmering" in addition to programming.
> There are now several IDEs (or development environments) that you may use
> for Haskell programming: I personally work on EclipseFP (so the environment
> is quite similar to Java), but there is also Leksah. I've seen people
> making incredible things using Emacs and the Haskell modes, so I think
> there is now quite nice support for Haskell programming.
> Apart from that, Haskell Platform and cabal makes it easy to use Haskell
> (at least as easy as PHP if you are using any of the LAMP packages in
> Windows, or Perl or Python).
> (Disclaimer: I'm currently one of the developers of EclipseFP)
>> Nevertheless, I share Jardine's concern about the central problem.
>> It is hard to find one's way in this ecosystem.  It needn't be,
>> as Java illustrates.  To my mind Java's great contribution to the
>> world is its library index--light years ahead of typical
>> "documentation" one finds at haskell.org, which lacks the guiding
>> hand of a flesh-and-blood librarian.  In this matter, it
>> seems, industrial curation can achieve clarity more easily than
>> open source.
> I disagree with that. For me, one of the best things about Haskell
> community is Hackage, where I can actually find and browse package
> documentation in a centralized way. In these days, Maven or Ivy (for
> automatically resolving and getting Java dependencies) are seen as great
> tools for Java ecosystem, and in Haskell we have that, with an even easier
> way to add packages and new versions to the index!
> Indeed, I find that Hackage enables a workflow not available in any other
> programming language: say you don't find a feature in Hackage libraries.
> Well, you can be pretty sure that no one has programmed a library for your
> task (opposed to Java or .NET, where it may be a commercial library, and be
> found somewhere random in the internet). Once you program it, you can
> upload it to Hackage and share easily with the rest of the community.
> Finally, even though we may argue about the point that "core" Java
> libraries have better documentation that "core" Haskell libraries (although
> libraries such as "container" even give complexity bounds to their
> operations), I find better Haskell documentation for other different
> resources: see the free-available "Learn you a Haskell", "Real World
> Haskell" (just to name some tutorials), the Snap and Yesod documentation
> (as opposed to the documentation of other web frameworks in the wild)...
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120216/125dc29f/attachment.htm>

More information about the Haskell-Cafe mailing list