Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Lots of Haskell libraries now. What are we going to do about it? (donsbot.wordpress.com)
35 points by captain-nemo on July 18, 2010 | hide | past | favorite | 17 comments


I have never quite understood why language developers never thought providing their platforms a little bit more like Linux developers do with distributions, i.e. besides providing libraries only, also provide package managers, dependency resolvers, test & rate the packages, dump orphaned packages, and so on.

I encountered this problem especially while learning Lisp. After you learn the basics of the language, and decide you want to do something productive with it, you find out that in order to do basic tasks, which other platforms nowadays include in their standard libraries, wading through and evaluating all the half-finished libraries all by yourself, because the community wont do it, will in the long run take more time than you needed to deal with the language itself.


I don't want each language providing its own package manager. Sure, CPAN was a great leap forward back before apt became popular, but now I want to just apt-get install libraries. Language-specific package managers always fall short of apt because they don't deal with external dependencies - cabal isn't going to install the sqlite libraries when I install the bindings, and even if it did, I doubt they're going to take stability and security updates as seriously as Debian does.


Haha, Debian take package security seriously? http://digitaloffense.net/tools/debian-openssl/

But for real, it's not that hard to integrate your language library distribution thingy into something like Debian. Using what the OP was talking about as an example, CL has had the Common Lisp Controller (http://www.cliki.net/common-lisp-controller) in Debian for a long time now (6 years? more?). This still doesn't help answer "which libraries should I use? which ones should I avoid?" For something like that, the problem with the CL community is that people are generally reluctant to criticize each other's work.


> Haha, Debian take package security seriously?

Despite a mistake or two over the years, yes, they do, and they do a lot of work on it.


Haskell actually has something like a package manager: I only install the GHC and then use cabal to install any applications. (cabal install pandoc, for instance.)


There's a couple of things the Haskell community are doing that should help address this problem. The Haskell platform (http://hackage.haskell.org/platform/) provides a tested collection of compiler and standard libraries. There's also a Google Summer of Code proposal to improve Hackage (the library repository) to make it more social. See http://cogracenotes.wordpress.com/hackage-proposal/.


It's unfair to extrapolate your experience with Lisp to the rest of the programming languages. CL has the most anti-social community in existence -- half the people on #lisp will tell you that libraries and standards are evil, and that each app should always roll its own everything.

If you like other people and using libraries, don't use Common Lisp.


That's the most anti-social nonsense I've read for a long time.


Hey, I like CL, it's one of my favorite languages. But the community just isn't the same as the Haskell or Perl community. Haskell and Perl people love building tiny pieces that all work together. Lisp programmers love building huge apps that work exactly like the original author wants.

One is nice for the individual, one is nice for the community. Lisp is a language for individuals.


FUD!

Who do you think wrote cliki.net, planet.lisp.org, paste.lisp.org, ASDF, ASDF-Install, XCVB, CLBUILD, runs common-lisp.net, wrote www.cl-user.net, organizes the International Lisp Conference, organizes European Lisp meetings, organizes various local user groups, wrote the software libraries listed here http://www.cliki.net/Library ??????????? Edi Weitz did not provide his starter pack??? He did not publish his regex engine, his webserver, his...

There are no libraries in LibCL? http://libcl.com/libcl-current/index.html

Check out the list of ASDF-Installable libraries here: http://www.cliki.net/ASDF-Install

Even Franz Inc., a commercial Lisp vendor publishes their stuff under a free license on Github: http://github.com/franzinc

It's not that things can't be improved, but saying that CL users are against sharing and reusing code is the biggest bullshit I heard for a long time.

Before you had any ideas Lisp existed, Symbolics users were collecting user contributions and publishing tapes - when no networks and other distribution media were widely available.

Before software repositories were common, Common Lisp user Mark Kantrowitz was collecting every available library:

http://www.cs.cmu.edu/afs/cs.cmu.edu/Web/Groups/AI/0.html

Just see under areas http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/... and lang/lisp/ http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/l...

Many of these people currently contributing you will find on #lisp .


I'm curious what makes people like you write this kind of nonsense?


The desire to convey facts to an audience of readers.


You know very well that no programming community ever has that kind of attitude; none! The only possibility I can think of is if there existed a secret government-consultant cabal, and they had this in a super-secret manual.


Is he extrapolating, or just making a statement? Some languages do take this into account, others don't. It's a very sensible thing to look after the... "ecosystem" as it were.


If you look into what some of the biggest projects are using you can get an idea about what is popular. It would be nice to have a 'required by' section on the hackage page similar to the citations section on citeseer.


But many languages do that.

See Python, Ruby, PHP, Perl or Haskell.


Is it just me or do other people find the documentation on hackageDB lacking and too often very beginner-unfriendly?

Something similar to Perl's http://perldoc.perl.org/ (really excellent!) would do a lot to help beginning Haskellers!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: