On Thu, 19 Aug 1999, S. Alexander Jacobson wrote:

> Mark,
> 
> Out of curiosity, how big is the user community?  How many downloads of
> the software?  How many are on this list?  If you figure that 1 user in
> 1000 is actually going to contribute a useful change each month (that is
> probably optimistic), the slow flow of changes isn't that surprising.  

        Good question; I am also curious about it. I presume that Haskell
        has reached a point of maturity and popularity where such
        answers could be made public in a sense of a positive propaganda.
> 
> Also, why are there so many Haskell compilers for so few users?
> There is really only one PD C compiler, GCC, and only one PD Perl
> interpreter, perl (or vice versa on the capitalization).
> Haskell has Hugs, GHC, NHC, HBC, for the core language, plus
> there are derivatives like ....cayenne, clean, mercury, etc.
> The variety of implemetations probably fragments the user community
> excessively further inhibiting growth.

        Because of egos involved, because of a friendly competition,
        because of personal decisions to include some experimental
        features here and there, because of the fact that Haskell
        evolves and is used as a research platform. I do not see
        anything wrong with that.

        Few years back there were three Eiffel compilers (Tower
        Eiffel, ISE Eiffell, and a German one (I do not remember
        its name, sorry)). Now there is also a Little Eiffel (or
        something of this name).

        The user base was probably as small as the Haskell's one today,
        and Eiffel was less research oriented that Haskell is. But they
        all tried to implement the same specification of the language,
        support the same libraries, and the implementors were (are?) 
        making their decisions together about future of Eiffel via NICE
        (Non-profit International Consortium for Eiffel). Same pattern!
        
> The rewards for fixing stuff in haskell implementations are further
> reduced because compilers don't feel all that modular and because changes
> to the typesystem can obsolete large classes of fixes (especially to the
> error reporting system).  

        Painful, but better than carrying some luggage of old ideas
        that have not been proven workable, or easy to use.

        What counts is a generalization but yet a simplification of
        the language itself. Personally, I like simple and clear
        theories, which I can then use to built possibly clever and
        complex (as hell :-(, :=)) applications.

> 
> On Thu, 19 Aug 1999, Mark P Jones wrote:

>>  Of course, it may just be the size
> > of our community, and the subject area: there's a much
> > greater demand for operating systems than there is for
> > lazy functional language implementations, and there are
> > probably a lot more people with expertise in the former
> > than there are in the latter.  

        Make Haskell simple, document it well in a fashion
        understandable by a Joe programmer, and the tools will
        start popping up. :-)

        My point is that even a "Gentle introduction"
        is not so gentle - as it is even admitted on www.haskell.org
        pages. I started appreciated it long after my first
        exposure to Haskell.

        There are too many assumptions about the level of
        a reader's comprehension of the texts presented.

        Have you ever thought about the official definition
        of Haskell in the introduction to Haskell Report,
        or in its presentation in FAQ of comp.lang.functional?
        It sounds like mumbo-jumbo, because all the terms
        used there are foreign to Joe Programmer. That does
        not mean that those terms are too damn difficult - they
        are just simply not defined clearly up front.
 
        Examples? What does it mean "first-class?" "Definition"
        as opposed to "declaration?" "Denotational semantics?"
        Where does a syntax ends and semantics takes over?
        "Partial function" vs. "partial application"?
        "Abstract data type" vs. "Algebraic data type"
        vs. "Abstract syntax tree"? All are being abbreviated as AST!
        What on earth is "lifting"?

        I am not trying to be negative. As a matter of fact I am
        currently working hard on getting those definitions in some,
        hopefully logical, perspective - with some clear relashionship
        amongst them. If I succeed I will publish it on line for a benefit
        of the Joe Programmer.

>> And we shouldn't discount
> > or forget the valuable contributions that quite a lot
> > of people already make to Haskell in other ways, by
> > answering questions on this or related lists, by using
> > Haskell to build interesting applications, and so on.
> > What I'd like to do is to stimulate more in the way of
> > contributions to the implementations.

        My old topic, unfortunatelly ignored: make a sort
        of database of Frequently (interesting) Asked Questions with
        clever answers. John Patterson has promissed to
        do something about it, but it has not materialized
        yet. :-(

> > 
> > So perhaps we should be more explicit: I'm sure that all of
> > us involved in developing Haskell systems would welcome
> > contributions from the community that will help to make the
> > tools better.  Better tools will benefit the whole community,
> > and will make them accessible and useful to a much wider
> > audience.


> > 
> > This doesn't mean that people shouldn't post bug reports
> > or gripes about the systems --- the poster may not know
> > how to fix the problems, but perhaps their message will
> > inspire somebody else to tackle it.  But I do think that
> > we need to move away from a "them and us"/"developer and user"
> > picture, and towards a more community oriented "us".

        Exactly!
> > 
> > All the best,
> > Mark
> > 
> 
> 
        Jan
 



Reply via email to