Re: [Haskell-cafe] New slogan for haskell.org

2007-12-14 Thread Henning Thielemann

On Wed, 12 Dec 2007, Bill Wood wrote:

 On Wed, 2007-12-12 at 11:19 +, Andrew Coppin wrote:
. . .
  ...and normal programmers care about the Fibonacci numbers because...?
 
  Seriously, there are many, many programmers who don't even know what
  Fibonacci numbers *are*. And even I can't think of a useful purpose for
  them. (Unless you count Fibonacci codes?)

 Knuth[1] pp. 417-419 discusses Fibonacci trees and Fibonacci search.
 According to Knuth (and who am I to argue with him) Fibonacci search has
 better average case running time than binary search, although worst case
 can be slightly slower.

 Cormen et. al.[2] devotes chapter 20 to Fibonacci heaps, which they say
 are of primarily theoretical interest.

 [1] Donald E. Knuth, The Art of Computer Programming, vol. 3, second
 edition, Addison Wesley Longman (1998).

 [2] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and
 Clifford Stein, Introduction to Algorithms, second edition, The MIT
 Press (2001).

Worst case analysis of AVL trees also leads to Fibonacci numbers, as far
as I remember.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-14 Thread Henning Thielemann

On Fri, 14 Dec 2007, Henning Thielemann wrote:

 Worst case analysis of AVL trees also leads to Fibonacci numbers, as far
 as I remember.

The number of possibilities to arrange bricks of a certain width is also
Fibonacci number. In general I think that Fibonacci numbers serve as
simple non-trivial example for difference equations.

|
|

|| --
|| --

||| |-- --|
||| |-- --|

...
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-13 Thread Denis Bueno
On 12/12/07, Bill Wood [EMAIL PROTECTED] wrote:
 On Wed, 2007-12-12 at 11:19 +, Andrew Coppin wrote:
. . .
  ...and normal programmers care about the Fibonacci numbers because...?
 
  Seriously, there are many, many programmers who don't even know what
  Fibonacci numbers *are*. And even I can't think of a useful purpose for
  them. (Unless you count Fibonacci codes?)

 Knuth[1] pp. 417-419 discusses Fibonacci trees and Fibonacci search.
 According to Knuth (and who am I to argue with him) Fibonacci search has
 better average case running time than binary search, although worst case
 can be slightly slower.

 Cormen et. al.[2] devotes chapter 20 to Fibonacci heaps, which they say
 are of primarily theoretical interest.

Since someone else mentioned these, I feel justified in saying:
fibonacci heaps *are* practical, under certain usage conditions.  They
are, however, hard to get right. =]

More importantly for this discussion, however: Fibonacci heaps have
nothing to do with calculating the fibonacci numbers, and you don't
even need to know what the fibonacci sequence is to use fibonacci
heaps.  (You discover what it is, if you didn't know, when you do a
complexity analysis of fibonacci heaps, but, that's only useful for
proving how efficient the heaps can be.)  Therefore, I don't think one
can successfully argue that fibonacci numbers are important because a
heap has Fibonacci the name in its name.

Just a nit, but I thought it worth mentioning. =]

-- 
  Denis
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-13 Thread Bill Wood
On Thu, 2007-12-13 at 09:55 -0500, Denis Bueno wrote:
   . . .
 More importantly for this discussion, however: Fibonacci heaps have
 nothing to do with calculating the fibonacci numbers, and you don't
 even need to know what the fibonacci sequence is to use fibonacci
 heaps.  (You discover what it is, if you didn't know, when you do a
 complexity analysis of fibonacci heaps, but, that's only useful for
 proving how efficient the heaps can be.)  Therefore, I don't think one
 can successfully argue that fibonacci numbers are important because a
 heap has Fibonacci the name in its name.
 
 Just a nit, but I thought it worth mentioning. =]

That's fair, and Cormen et. al. said pretty much the same thing in Chap.
20.  I think the argument is that the Fibonacci sequence is important to
*understanding* the Fibonacci heap.  Still your point is well taken.

 -- Bill Wood


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Emre Sahin
 gwern0  [EMAIL PROTECTED] writes:

 If the reader is still interested and still takes Haskell
 seriously after puzzling over the foregoing, this would either
 be pointless or off-putting. Well, *of course* there are
 compilers for most computers. You aren't a serious
 general-purpose language in this day and age if there aren't
 compilers free for most computers. Such a line either tells the
 reader what they assume to be true, or strikes them as 'the lady
 doth protest too much, methinks'...

 So, the Haskell one uses more than twice as many technical
 terms, uses more off-putting ones, offers less information, does
 not reassure as Python's does that switching costs are not high,
 and so on.

 It needs to change.

 Now, the Main Page on haskell.org is not protected, so I could
 just edit in one of the better descriptions proposed, but as in
 my Wikipedia editing, I like to have consensus especially for
 such visible changes.

 How do you think the description could be improved?

Why don't you let Haskell speak for itself?

Instead of putting such buzzwords nobody really understands (and
cares), put random problem descriptions and one-line solutions in
Haskell. Well known problems like Fibonacci, Quicksort, etc. may be
good candidates, even add 1 to all elements of an Integer list may
be. 

First impressions of a language usually not by a slogan, I don't tell
my friends about Haskell saying it's a statically typed, functional,
blah blah blah language. Instead the thing that you write with a
loop in C, I write in Haskell like this --oh, and it also has infinite
lists...

I think Haskell code impresses me much more that those words. 

Emre







___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Henning Thielemann

On Wed, 12 Dec 2007, Emre Sahin wrote:

  How do you think the description could be improved?

 Why don't you let Haskell speak for itself?

 Instead of putting such buzzwords nobody really understands (and
 cares), put random problem descriptions and one-line solutions in
 Haskell. Well known problems like Fibonacci, Quicksort, etc. may be
 good candidates, even add 1 to all elements of an Integer list may
 be.

Indeed, we are catched in a loop:
  http://www.haskell.org/pipermail/haskell-cafe/2007-November/035491.html

When I want to judge a programming language I like to see a 'gallery', a
collection of beautiful programs.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Bayley, Alistair
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Derek Elkins

 (Not directed at gwern in particular)
 
 I have a better idea.  Let's decide to do nothing.  The 
 benefits of this
 approach are: 1) it takes zero effort to implement, 2) the number of
 people who immediately give up on Haskell from reading that is, I
 suspect, neglible (actually I suspect it is zero; I think the 
 number of
 people who actually read that at all is probably negligible), 
 and 3) it
 accomplishes the same end as debating endlessly while 
 creating much less
 list traffic.


Should we set up a haskell-marketing mailing list for people who still
have some passion (or merely stamina) for the discussion? Or is there a
lighter-weight way to take the discussion off-list/to another list?

Alistair
*
Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.
*

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Michael Vanier

Bayley, Alistair wrote:
From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On Behalf Of Derek Elkins



  

(Not directed at gwern in particular)

I have a better idea.  Let's decide to do nothing.  The 
benefits of this

approach are: 1) it takes zero effort to implement, 2) the number of
people who immediately give up on Haskell from reading that is, I
suspect, neglible (actually I suspect it is zero; I think the 
number of
people who actually read that at all is probably negligible), 
and 3) it
accomplishes the same end as debating endlessly while 
creating much less

list traffic.




Should we set up a haskell-marketing mailing list for people who still
have some passion (or merely stamina) for the discussion? Or is there a
lighter-weight way to take the discussion off-list/to another list?

Alistair
  


This is a great idea!  Other languages have advocacy mailing lists 
and/or newsgroups.  I think Haskell should have one too.  I know if 
there was one I'd be the first person not to subscribe ;-)


Mike, bored of these endless debates


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Andrew Coppin

Emre Sahin wrote:

Why don't you let Haskell speak for itself?

Instead of putting such buzzwords nobody really understands (and
cares), put random problem descriptions and one-line solutions in
Haskell. Well known problems like Fibonacci, Quicksort, etc. may be
good candidates, even add 1 to all elements of an Integer list may
be. 
  


...and normal programmers care about the Fibonacci numbers because...?

Seriously, there are many, many programmers who don't even know what 
Fibonacci numbers *are*. And even I can't think of a useful purpose for 
them. (Unless you count Fibonacci codes?)


Quicksort is a well-used example, but several closely related sorting 
algorithms turn out to be fairly wordy in Haskell. It just so happens 
that [a very simple] quicksort is quite short.


I guess the question we've got to ask [hmm, we are repeating aren't we?] 
is who we're trying to attract.


Yeah, we should probably set up a seperate list for this stuff...

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Reinier Lamers

Andrew Coppin wrote:

Yeah, we should probably set up a seperate list for this stuff... 


Perhaps you can use 
http://haskell.org/haskellwiki/?title=Talk:FrontpageDraftaction=edit ? 
That page is also a better place to fight your edit wars than the front 
page is.


Reinier
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Bill Wood
On Wed, 2007-12-12 at 11:19 +, Andrew Coppin wrote:
   . . .
 ...and normal programmers care about the Fibonacci numbers because...?
 
 Seriously, there are many, many programmers who don't even know what 
 Fibonacci numbers *are*. And even I can't think of a useful purpose for 
 them. (Unless you count Fibonacci codes?)

Knuth[1] pp. 417-419 discusses Fibonacci trees and Fibonacci search.
According to Knuth (and who am I to argue with him) Fibonacci search has
better average case running time than binary search, although worst case
can be slightly slower.

Cormen et. al.[2] devotes chapter 20 to Fibonacci heaps, which they say
are of primarily theoretical interest.

[1] Donald E. Knuth, The Art of Computer Programming, vol. 3, second
edition, Addison Wesley Longman (1998).

[2] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and
Clifford Stein, Introduction to Algorithms, second edition, The MIT
Press (2001).

 -- Bill Wood

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Emre Sahin
 Andrew Coppin [EMAIL PROTECTED] writes:

 [...]

 Yeah, we should probably set up a seperate list for this
 stuff...

Agreed. :)

This type of general discussions cannot be concluded. A board of bored
Haskellers socialize themselves. 

To be honest, I didn't read that thing (in Haskell page or Python
page) once. I think we should link to this thread instead. It would be
much more entertaining. (Infinite are the arguments of Haskell
programmers.)

Anyway, I still like code more than buzzwords. 

E.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-12 Thread Andrew Coppin

Bill Wood wrote:

On Wed, 2007-12-12 at 11:19 +, Andrew Coppin wrote:
   . . .
  

...and normal programmers care about the Fibonacci numbers because...?

Seriously, there are many, many programmers who don't even know what 
Fibonacci numbers *are*. And even I can't think of a useful purpose for 
them. (Unless you count Fibonacci codes?)



Knuth[1] pp. 417-419 discusses Fibonacci trees and Fibonacci search.
According to Knuth (and who am I to argue with him) Fibonacci search has
better average case running time than binary search, although worst case
can be slightly slower.

Cormen et. al.[2] devotes chapter 20 to Fibonacci heaps, which they say
are of primarily theoretical interest.

[1] Donald E. Knuth, The Art of Computer Programming, vol. 3, second
edition, Addison Wesley Longman (1998).

[2] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and
Clifford Stein, Introduction to Algorithms, second edition, The MIT
Press (2001).
  


Mmm, today I learned something.

http://en.wikipedia.org/wiki/Fibonacci_heap
http://en.wikipedia.org/wiki/Fibonacci_search

It seems that at least the latter actually involves the Fibonacci 
numbers, rather than merely having Fibonacci in the name. [That was 
going to be my next question...]


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Wolfgang Jeltsch
Am Mittwoch, 12. Dezember 2007 03:12 schrieb [EMAIL PROTECTED]:
 FWIW to the discussion about changing the main page, I was reading the CUFP
 paper and I saw some germane comments (and the writer is apparently one
 Noel Welsh, whose name I don't see in the thread); the context is a
 discussion (pg 17) of various members or potential members of the Haskell
 community and how supported they are:

  What are the needs of the potential programmer? People program to solve
 prob- lems; so there had better be a clear statement of what kinds of
 problem the language is good for. The Python community does a good job of
 this on python.org: Python is a dynamic object-oriented programming
 language that can be used for many kinds of software development. It offers
 strong support for integration with other languages and tools, comes with
 extensive standard libraries, and can be learned in a few days.

  Compare this with the equivalent from haskell.org: Haskell is a
  general purpose, purely functional programming language featuring static
  typing, higher-order functions, polymorphism, type classes, and monadic
  effects. Haskell compilers are freely available for almost any computer.
 If you understand all that, you don't need to be here: you're already a
 Haskell programmer.

Note however that also the Python slogan isn’t so much about solving problems.  
And it also contains technical terms: “dynamic object-oriented programming 
language” instead of “static typing, higher-order functions, polymorphism, 
type classes, and monadic effects”.

Best wishes,
Wolfgang
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Steve Lihn
I have not used Haskell to write large scale program, but I am
certainly interested to know the answer to these questions.

Can Haskell offer the following as Pythoner boasts?
1. can be used for many kinds of software development. (some may argue yes,
but different kinds from what python is good for.)
2. It offers strong support for integration with other languages and tools
(FFI? Is the support strong?)
3. comes with extensive standard libraries (this is a yes, and is getting
better every day)
4. and can be learned in a few days (very unlikely, maybe a few months to a
year)

What is Haskell good for?
* Domain Specific Language (who needs it? other than academics and Wall
Streeter?)
* smaller program and much less bugs
* concise program logic
* program that can be reasoned (is that the reason Haskell module comes with
so few comments and documentation?)
* highly reusable code (due to higher order function and type class?)
* clear distinction between functional and imperative (is this really an
advantage? almost everything I deal with is IO, network, and db related,
what is left for purely functional?)

A person/team has to be convinced of these high-level questions before he
can decide to bet his project on Haskell. That is the thought process I
am struggling through right now.

steve


On Dec 11, 2007 9:12 PM, [EMAIL PROTECTED] wrote:

 FWIW to the discussion about changing the main page, I was reading the
 CUFP paper and I saw some germane comments (and the writer is apparently one
 Noel Welsh, whose name I don't see in the thread); the context is a
 discussion (pg 17) of various members or potential members of the Haskell
 community and how supported they are:

  What are the needs of the potential programmer? People program to solve
 prob-
  lems; so there had better be a clear statement of what kinds of problem
 the
  language is good for. The Python community does a good job of this on
  python.org: Python is a dynamic object-oriented programming language
 that can
  be used for many kinds of software development. It offers strong support
 for
  integration with other languages and tools, comes with extensive standard
  libraries, and can be learned in a few days.

  Compare this with the equivalent from haskell.org: Haskell is a
  general purpose, purely functional programming language featuring static
  typing, higher-order functions, polymorphism, type classes, and monadic
  effects. Haskell compilers are freely available for almost any computer.
 If
  you understand all that, you don't need to be here: you're already a
 Haskell
  programmer.

 --
 gwern

 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Brandon S. Allbery KF8NH


On Dec 11, 2007, at 22:47 , Steve Lihn wrote:

1. can be used for many kinds of software development. (some may  
argue yes, but different kinds from what python is good for.)


This question is somewhat tied to (3), but really the answer is it  
can be, but you may have to think differently about the problem to  
formulate a good program.  (See below.)


* Domain Specific Language (who needs it? other than academics and  
Wall Streeter?)


DSELs can be thought of as a programming methodology; as such, it has  
wide applicability, but most programmers don't think that way.  Tcl  
was originally positioned as a DSEL enabler (write composable  
functions in C, tie them together in Tcl), but most programmers  
don't get it and so don't tend to use it as such.  More recently,  
Lua seems to be using a similar philosophy with a little more success  
--- but mainly by limiting it to something which most programmers can  
deal with.  Also compare how Perl and Python monoliths have replaced  
the original Unix philosophy in which the shell is a DSEL enabler  
(composing single-function programs like cat and sort).


When it comes down to it, Haskell's strengths are only realizeable if  
you approach programming problems in a different way from most common  
languages.  It's a fairly big leap, and arguably Haskell won't  
compete well in the mainstream until more programmers have made that  
leap.


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread gwern0
On 2007.12.12 03:29:13 +0100, Wolfgang Jeltsch [EMAIL PROTECTED] scribbled 
1.6K characters:
 Am Mittwoch, 12. Dezember 2007 03:12 schrieb [EMAIL PROTECTED]:
  FWIW to the discussion about changing the main page, I was reading the CUFP
  paper and I saw some germane comments (and the writer is apparently one
  Noel Welsh, whose name I don't see in the thread); the context is a
  discussion (pg 17) of various members or potential members of the Haskell
  community and how supported they are:
 
   What are the needs of the potential programmer? People program to solve
  prob- lems; so there had better be a clear statement of what kinds of
  problem the language is good for. The Python community does a good job of
  this on python.org: Python is a dynamic object-oriented programming
  language that can be used for many kinds of software development. It offers
  strong support for integration with other languages and tools, comes with
  extensive standard libraries, and can be learned in a few days.
 
   Compare this with the equivalent from haskell.org: Haskell is a
   general purpose, purely functional programming language featuring static
   typing, higher-order functions, polymorphism, type classes, and monadic
   effects. Haskell compilers are freely available for almost any computer.
  If you understand all that, you don't need to be here: you're already a
  Haskell programmer.

 Note however that also the Python slogan isn’t so much about solving problems.
 And it also contains technical terms: “dynamic object-oriented programming
 language” instead of “static typing, higher-order functions, polymorphism,
 type classes, and monadic effects”.

 Best wishes,
 Wolfgang

The Haskell one is dominated by the technical terms, while the Python one is by 
more generic features. Let's break them down:

 Python is a dynamic object-oriented programming language
 It can be used for many kinds of software development.
 It offers:
  strong support for integration with other languages and tools,
  comes with extensive standard libraries
  and can be learned in a few days.

It uses two technical terms, one of which is extremely common and understood 
(or at least, they think they understand it) by the vast majority of 
programmers, and another which even if you don't know anything about 
static/dynamic, still sounds neat. Dynamic! Neato! *power* *bop* Leaping 
librarians Batman!

Of the rest of the description, it is all touchy-feely: it reassures you that 
it'll be able to do what you ask it to do; it'll play nice with your stuff; 
it's quick and easy to learn; and you won't have to mess around with installing 
stuff, it's brain-dead simple and 'all there'.

Now let's look at the Haskell one.

 Haskell is a general purpose,

OK, that's good; it's not as emphatic or clear as It can be used for many 
kinds of software development, but it does mean more or less the same thing.

 purely functional programming language

Oh dear. It's 'functional', and I've heard that means scary weird mathematical 
stuff (first technical term). But I wanted to learn something new, so let's 
look at something else. But Wait, what's this 'purely' business? If it's purely 
functional, doesn't that mean I won't be able to my usual stuff, which is 
presumably impure? (Technical term the second; parity achieved with Python 
description).

  featuring:

Equivalent to It offers

  static typing

Technical term the third. Mention of static typing is probably on balance bad: 
If you are the kind of sort of cutting-edge programmer, then you are more 
familiar with dynamic languages like Python and Ruby which liberated you from 
the horrors of languages like Java and C. And these Haskell guys are daring to 
suggest you might want to go *back*? If you aren't familiar, then static just 
sounds bad - inert, unbending, rigid and unpleasant. 'I stopped watching that 
show - its plot was just too static.'

It's probably too late now, but I think a better name would've been 'securely 
typed'. :)


  higher-order functions,

Term the fourth. Even more obscure. Lispers might appreciate this entry though.

  polymorphism,

Fifth term. This one is good: polymorphism is used elsewhere, and sounds 
friendly.

  type classes,

Sixth.

OK, seriously, what group besides those who already understand Haskell would 
actually know what type classes are or care? If they have to be mentioned, 
might as well say something more useful (I dunno what, maybe something such as 
'they are like multiple inheritance or interfaces, but more powerful').

  and monadic effects.

This actually sounds even more obscure and scary than just monads would be, and 
I've seen it oft remarked that monads should just be called soft fluffy 
things...

Seventh.

  Haskell compilers are freely available for almost any computer.

If the reader is still interested and still takes Haskell seriously after 
puzzling over the foregoing, this would either be pointless or off-putting. 
Well, *of course* 

Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Don Stewart
stevelihn:
I have not used Haskell to write large scale program, but I am
certainly interested to know the answer to these questions.

Can Haskell offer the following as Pythoner boasts?
1. can be used for many kinds of software development. (some may argue
yes, but different kinds from what python is good for.)
2. It offers strong support for integration with other languages and tools
(FFI? Is the support strong?)
3. comes with extensive standard libraries (this is a yes, and is getting
better every day)
4. and can be learned in a few days (very unlikely, maybe a few months to
a year)

These are vague conditions we can easily address:

1. General purpose languages -- we write OS kernels and web sites in
   Haskell -- you can clearly use it for anything in between as well.

2. The FFI in Haskell is perhaps the most powerful out there.
   You can import C or export Haskell to C with a single line FFI decl.

3. Libs are in a good state, as you've seen.

4. You can't learn the entire Python language in a few days if all
   you've done is Prolog. So it should be qualified with if you know
   Perl or Ruby

Toss in fast native code, debuggers and profilers, built for robustness,
along with powerful concurrency and parallelism, and you've got some
marketing hype for Haskell :)

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Derek Elkins
On Tue, 2007-12-11 at 23:06 -0500, [EMAIL PROTECTED] wrote:
 On 2007.12.12 03:29:13 +0100, Wolfgang Jeltsch [EMAIL PROTECTED] scribbled 
 1.6K characters:
  Am Mittwoch, 12. Dezember 2007 03:12 schrieb [EMAIL PROTECTED]:
   FWIW to the discussion about changing the main page, I was reading the 
   CUFP
   paper and I saw some germane comments (and the writer is apparently one
   Noel Welsh, whose name I don't see in the thread); the context is a
   discussion (pg 17) of various members or potential members of the Haskell
   community and how supported they are:
  
What are the needs of the potential programmer? People program to solve
   prob- lems; so there had better be a clear statement of what kinds of
   problem the language is good for. The Python community does a good job of
   this on python.org: Python is a dynamic object-oriented programming
   language that can be used for many kinds of software development. It 
   offers
   strong support for integration with other languages and tools, comes with
   extensive standard libraries, and can be learned in a few days.
  
Compare this with the equivalent from haskell.org: Haskell is a
general purpose, purely functional programming language featuring static
typing, higher-order functions, polymorphism, type classes, and monadic
effects. Haskell compilers are freely available for almost any computer.
   If you understand all that, you don't need to be here: you're already a
   Haskell programmer.
 
  Note however that also the Python slogan isn’t so much about solving 
  problems.
  And it also contains technical terms: “dynamic object-oriented programming
  language” instead of “static typing, higher-order functions, polymorphism,
  type classes, and monadic effects”.
 
  Best wishes,
  Wolfgang
 
 The Haskell one is dominated by the technical terms, while the Python one is 
 by more generic features. Let's break them down:
 
  Python is a dynamic object-oriented programming language
  It can be used for many kinds of software development.
  It offers:
   strong support for integration with other languages and tools,
   comes with extensive standard libraries
   and can be learned in a few days.
 
 It uses two technical terms, one of which is extremely common and understood 
 (or at least, they think they understand it) by the vast majority of 
 programmers, and another which even if you don't know anything about 
 static/dynamic, still sounds neat. Dynamic! Neato! *power* *bop* Leaping 
 librarians Batman!
 
 Of the rest of the description, it is all touchy-feely: it reassures you that 
 it'll be able to do what you ask it to do; it'll play nice with your stuff; 
 it's quick and easy to learn; and you won't have to mess around with 
 installing stuff, it's brain-dead simple and 'all there'.
 
 Now let's look at the Haskell one.
 
  Haskell is a general purpose,
 
 OK, that's good; it's not as emphatic or clear as It can be used for many 
 kinds of software development, but it does mean more or less the same thing.
 
  purely functional programming language
 
 Oh dear. It's 'functional', and I've heard that means scary weird 
 mathematical stuff (first technical term). But I wanted to learn something 
 new, so let's look at something else. But Wait, what's this 'purely' 
 business? If it's purely functional, doesn't that mean I won't be able to my 
 usual stuff, which is presumably impure? (Technical term the second; parity 
 achieved with Python description).
 
   featuring:
 
 Equivalent to It offers
 
   static typing
 
 Technical term the third. Mention of static typing is probably on balance 
 bad: If you are the kind of sort of cutting-edge programmer, then you are 
 more familiar with dynamic languages like Python and Ruby which liberated you 
 from the horrors of languages like Java and C. And these Haskell guys are 
 daring to suggest you might want to go *back*? If you aren't familiar, then 
 static just sounds bad - inert, unbending, rigid and unpleasant. 'I stopped 
 watching that show - its plot was just too static.'
 
 It's probably too late now, but I think a better name would've been 'securely 
 typed'. :)
 
 
   higher-order functions,
 
 Term the fourth. Even more obscure. Lispers might appreciate this entry 
 though.
 
   polymorphism,
 
 Fifth term. This one is good: polymorphism is used elsewhere, and sounds 
 friendly.
 
   type classes,
 
 Sixth.
 
 OK, seriously, what group besides those who already understand Haskell would 
 actually know what type classes are or care? If they have to be mentioned, 
 might as well say something more useful (I dunno what, maybe something such 
 as 'they are like multiple inheritance or interfaces, but more powerful').
 
   and monadic effects.
 
 This actually sounds even more obscure and scary than just monads would be, 
 and I've seen it oft remarked that monads should just be called soft fluffy 
 things...
 
 Seventh.
 
   Haskell compilers are freely available for almost 

Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Marc A. Ziegert
i did just read the haskell description from galois [1]. i like
 1) ...enabling much higher coding efficiency, in addition to formalisms that 
greatly ease verification.
 2) All programming languages suffer from a semantic gap:...

maybe we could compose sth similar to 1) to introduce static typed functional 
programming, and to 2) to introduce some strange new buzzwords coming with 
haskell.
i'm sure, there will be no problem in using scary words, iff we introduce them 
as easy-to-handle master solutions to all incurable programming diseases. ;)



...imho the present slogan [2] is not that bad, too.

- marc

[1] http://www.galois.com/methods.php
[2] http://haskell.org/haskellwiki/?title=Haskelloldid=17367



signature.asc
Description: This is a digitally signed message part.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-12-11 Thread Henning Thielemann

On Tue, 11 Dec 2007 [EMAIL PROTECTED] wrote:

 The Haskell one is dominated by the technical terms, while the Python
 one is by more generic features. Let's break them down:

Plese, not again. Did you follow the earlier phases of that thread?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-29 Thread Andrew Coppin

Dan Weston wrote:
  [...] and facilitates borrow-from-the-future techniques where 
useful with infinite data structures or recursive algorithms.


And this, gentlemen, is just one of the reasons why Haskell gets 
labelled as scary.


It's very hard to explain what this enigmatic riddle-like statement 
actually *means* without a very long exposition. (Heck, *I* haven't 
worked out how to borrow from the future yet...)


[The other reason, of course, is that Haskell's syntax isn't C / C++ / 
Java / VB... which suits me just fine! ;-) ]


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-29 Thread jerzy . karczmarczuk

Andrew Coppin writes:


Dan Weston wrote:

  [...] and facilitates borrow-from-the-future techniques where useful
with infinite data structures or recursive algorithms.


And this, gentlemen, is just one of the reasons why Haskell gets labelled
as scary.

It's very hard to explain what this enigmatic riddle-like statement
actually *means* without a very long exposition. (Heck, *I* haven't worked
out how to borrow from the future yet...)


Scary - schmary...

If you want to be afraid of, say, Santa Claus, that's OK, you are a free
man. But, perhaps before saying that you haven't worked out something,
*try* to work it out.

Read something about Richard Bird's circular programs. A nice Web article
(Lloyd Allison) is here:

http://www.csse.monash.edu.au/~lloyd/tildeFP/1989SPE/

A really complicated application by Janis Voigtländer

http://wwwtcs.inf.tu-dresden.de/~voigt/HOSC.pdf

will probably kill you, so don't. But The Web is full of articles. You can
even read one or two of my own productions.

I - sorry for shameless auto-ad - cited this paper *twice*, once it was
after *your* similar statement...

http://users.info.unicaen.fr/~karczma/arpap/lazypi.pdf

It is called The Most Unreliable Technique in the World to Compute PI,
and it has been written explicitly for fun and instruction. That's
a possible answer to your dilemma.

Another one shows something even worse than borrowing from the future,
namely going backwards in time, applied to the Automatic Differentiation
in Reverse Mode.

http://users.info.unicaen.fr/~karczma/arpap/revpearl.pdf

And, please, avoid saying that something is scary or difficult, unless
you are really sure.

Jerzy Karczmarczuk


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-29 Thread Andrew Coppin

[EMAIL PROTECTED] wrote:

Andrew Coppin writes:

Dan Weston wrote:
  [...] and facilitates borrow-from-the-future techniques where 
useful with infinite data structures or recursive algorithms.


And this, gentlemen, is just one of the reasons why Haskell gets 
labelled as scary.
It's very hard to explain what this enigmatic riddle-like statement 
actually *means* without a very long exposition. (Heck, *I* haven't 
worked out how to borrow from the future yet...)


Scary - schmary...
If you want to be afraid of, say, Santa Claus, that's OK, you are a free
man. But, perhaps before saying that you haven't worked out something,
*try* to work it out.


Oh, I didn't mean *I* am scared of Haskell - I think Haskell is great! 
:-D I meant that other people perceive it as scary. And infinite data 
structures and borrowing from the future are two examples of things 
that scare them.


And, relatedly, I said I hadn't worked out the latter yet. It doesn't 
scare me - I'm more curios than scared. ;-) I believe I did ask about 
it here once, but didn't get much of a clear answer.



Read something about Richard Bird's circular programs. A nice Web article
(Lloyd Allison) is here:
http://www.csse.monash.edu.au/~lloyd/tildeFP/1989SPE/
A really complicated application by Janis Voigtländer
http://wwwtcs.inf.tu-dresden.de/~voigt/HOSC.pdf
will probably kill you, so don't. But The Web is full of articles. You 
can

even read one or two of my own productions.
I - sorry for shameless auto-ad - cited this paper *twice*, once it was
after *your* similar statement...
http://users.info.unicaen.fr/~karczma/arpap/lazypi.pdf
It is called The Most Unreliable Technique in the World to Compute PI,
and it has been written explicitly for fun and instruction. That's
a possible answer to your dilemma.
Another one shows something even worse than borrowing from the future,
namely going backwards in time, applied to the Automatic 
Differentiation

in Reverse Mode.
http://users.info.unicaen.fr/~karczma/arpap/revpearl.pdf


Should give me something interesting to read for a while...


And, please, avoid saying that something is scary or difficult, unless
you are really sure.


Like I said, I think you're just misunderstanding what I'm trying to 
say, that's all.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Thomas Schilling
On Tue, 2007-11-27 at 23:11 -0500, Sterling Clover wrote:
 On Nov 27, 2007, at 11:34 AM, David Fox wrote:
 
  In that case we need to identify all the groups that the front page  
  is serving and create separate areas for each, all above the fold  
  as it were:
 
  1. A sales pitch for new users.  I see how much this disturbs  
  some people, but maybe it is better to think of it as a quick  
  introduction with a focus on benefits and comparisons to things  
  which are already familiar.  This is what one needs when one is in  
  the stage of deciding whether to pursue something.
 
 There should also be a bit of discussion on *who* folks want the  
 pitch to attract. As I see it, there are a number of categories here  
 as well, and maybe even links to breakout pages for different  
 demographics could be in order.
 
 I expect any number of us have had the experience where we want to  
 use Haskell on a project, and need to convince our project manager /  
 other form of immediate supervisor / boss / whatever that this is a  
 good idea -- so there needs  to be a pitch geared to benefits that  
 they'll latch on to -- reliability, clarity, maintainability,  
 provability, speed, momentum and staying power, library support, etc.
 
 Then there should be a different sort of pitch for casual new users  
 that want to get their feet wet in different sorts of programming  
 concepts.
 
 Finally, there should be a pitch for people that really know what's  
 up, so to speak, are looking for a place to expend some of their  
 significant talent, and are going to be attracted by some of the  
 mathematically cooler/geekier/blow-your-mind aspects of Haskell, the  
 power of its type system, etc. Mindshare among these folks is key for  
 more people that want to hack on getting Cabal to just work, adopt  
 the maintenance of libraries and come up with new and useful  
 proposals therein, get involved with compiler development (or at  
 least generate really useful test-cases and bug reports), and all that.

Sorry, but are you talking of *one* homepage?  This can all go into own
wiki pages that are aimed at certain audiences, but this really can't
all fit on the front page.

Go ahead, write them!  I'm all for it, but at the moment I'm looking for
concrete improvements of my suggested phrasing.  Any ideas how we could
succinctly address those demographics in that short paragraph?

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Ian Lynagh
On Wed, Nov 28, 2007 at 09:27:39AM +0100, Thomas Schilling wrote:
 
 Sorry, but are you talking of *one* homepage?  This can all go into own
 wiki pages that are aimed at certain audiences, but this really can't
 all fit on the front page.

I'm reminded of http://www.shiregames.com/shiregames/

We could do something similar, with a column for
When you hear programming, if you immediately think of C or perl,
then please read the following:
and maybe
ML or lisp
for the other column.

I don't know if it's a good idea or not, just something to think about.


Thanks
Ian

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Thomas Davie


On 28 Nov 2007, at 13:41, Ian Lynagh wrote:


On Wed, Nov 28, 2007 at 09:27:39AM +0100, Thomas Schilling wrote:


Sorry, but are you talking of *one* homepage?  This can all go into  
own

wiki pages that are aimed at certain audiences, but this really can't
all fit on the front page.


I'm reminded of http://www.shiregames.com/shiregames/

We could do something similar, with a column for
   When you hear programming, if you immediately think of C or perl,
   then please read the following:
and maybe
   ML or lisp
for the other column.

I don't know if it's a good idea or not, just something to think  
about.


That's an excellent idea as far as I'm concerned.  We get the  
advertising pitch to the uninitiated, and the old hands keep their  
navigation routes to the important documentation.


Bob
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Thomas Schilling
I put up a draft page.  Feel free to adjust it.

  http://haskell.org/haskellwiki/FrontpageDraft

/ Thomas

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Sebastian Sylvan
On Nov 28, 2007 8:54 PM, Thomas Schilling [EMAIL PROTECTED] wrote:
 I put up a draft page.  Feel free to adjust it.

   http://haskell.org/haskellwiki/FrontpageDraft


Perhaps slightly OT, but while we're discussing the front page. Is
there any way of getting rid of the numbering on the front page? It
annoys me!

-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Thomas Schilling
On Wed, 2007-11-28 at 21:02 +, Sebastian Sylvan wrote:
 On Nov 28, 2007 8:54 PM, Thomas Schilling [EMAIL PROTECTED] wrote:
  I put up a draft page.  Feel free to adjust it.
 
http://haskell.org/haskellwiki/FrontpageDraft
 
 
 Perhaps slightly OT, but while we're discussing the front page. Is
 there any way of getting rid of the numbering on the front page? It
 annoys me!
 

You can turn it off in your preferences under Misc.

I guess someone with admin privileges could change the global defaults.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Sebastian Sylvan
On Nov 28, 2007 9:30 PM, Thomas Schilling [EMAIL PROTECTED] wrote:
 On Wed, 2007-11-28 at 21:02 +, Sebastian Sylvan wrote:
  On Nov 28, 2007 8:54 PM, Thomas Schilling [EMAIL PROTECTED] wrote:
   I put up a draft page.  Feel free to adjust it.
  
 http://haskell.org/haskellwiki/FrontpageDraft
 
 
  Perhaps slightly OT, but while we're discussing the front page. Is
  there any way of getting rid of the numbering on the front page? It
  annoys me!
 

 You can turn it off in your preferences under Misc.

 I guess someone with admin privileges could change the global defaults.

I like it for articles, but the front page has a very deliberate
layout so that most of the important information can be accessed
quickly, so the arbitrary numbering is distracting. So really I'd
like the front page to be an exception, if possible.



-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-28 Thread Dan Weston

  *  Static typing, which increases robustness by allowing the
 compiler to catch many common errors automatically.

  *  Type inference, which deduces types automatically and frees
 the programmer from writing superfluous type signatures.

  *  Higher order functions, polymorphism, and lazy evaluation,
 which enable higher levels of abstraction and more
 compositional, thus more reusable code.

frees the programmer from writing superfluous type signatures is a 
weak (and dubious) advantage. I very often write superfluous type 
signatures first (to be sure I know what I'm asking my program to do) 
and only then let Haskell check it. Then I leave it in as good 
documentation.


Also, if you're going to stress the benefits for the casual or new 
reader, maybe you should spell them out explicitly:


 * Static typing

   - Compiler automatically infers a static type for every expression, 
completely eliminating any potential for runtime type mismatch errors, 
and checks any programmer-supplied type annotation for correctness. The 
absence of silent typecasting also eliminates a whole class of 
hard-to-find program logic errors.


 * Higher-order functions and polymorphism

   - Encourages higher-level abstraction and unshackles algorithm 
design from implementation details.


 * Lazy evaluation

   - Separates the concerns of the called function (what can I 
provide?) and the calling function (how much do I need to know?) and 
facilitates borrow-from-the-future techniques where useful with 
infinite data structures or recursive algorithms.



Thomas Schilling wrote:

On Mon, 2007-11-26 at 20:31 -0800, David Fox wrote:


On Nov 26, 2007 11:38 AM, Thomas Schilling [EMAIL PROTECTED]
wrote:

Haskell is a general-purpose, pure functional programming

languages
that puts many interesting results from research into a
practical
programming language.  It's features include:
 
 I think it is stronger to say many powerful results rather than

many interesting results.


Yes, good!  


Also it should be its rather than it's, but I didn't want to reply
to my own message since it was meant as a draft to work with.

I'd like to turn this into a refinement of a concrete proposal.  I
skimmed the original thread and it pretty much diverged into experience
reports or meta-level discussions on what or how to advertise Haskell.
This has its place, but I think we can get to a description that is good
enough for now and addresses Don's issues mentioned in the
thread-starting message.

So, I would welcome more concrete adjustments to my proposal.

/ Thomas 



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Ketil Malde
Thomas Schilling [EMAIL PROTECTED] writes:

 Haskell is a general-purpose, pure functional programming languages
 that puts many interesting results from research into a practical
 programming language.  It's features include:

  * Static typing with type inference: enables writing robust and fast
programs quickly and makes large code bases maintainable.

[..]

I like this approach: list buzzwords with a brief explanation, and a
rationale for why this helps you develop robust and efficient programs
quickly. 

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Thomas Schilling
On Mon, 2007-11-26 at 20:31 -0800, David Fox wrote:
 
 
 On Nov 26, 2007 11:38 AM, Thomas Schilling [EMAIL PROTECTED]
 wrote:
 
 Haskell is a general-purpose, pure functional programming
 languages
 that puts many interesting results from research into a
 practical
 programming language.  It's features include:
  
  I think it is stronger to say many powerful results rather than
 many interesting results.

Yes, good!  

Also it should be its rather than it's, but I didn't want to reply
to my own message since it was meant as a draft to work with.

I'd like to turn this into a refinement of a concrete proposal.  I
skimmed the original thread and it pretty much diverged into experience
reports or meta-level discussions on what or how to advertise Haskell.
This has its place, but I think we can get to a description that is good
enough for now and addresses Don's issues mentioned in the
thread-starting message.

So, I would welcome more concrete adjustments to my proposal.

/ Thomas 


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread David Menendez
On Nov 26, 2007 1:44 PM, Thomas Davie [EMAIL PROTECTED] wrote:


 But the point is that this section of the site is the bit that's meant
 to be an advertisement -- we're trying to encourage people to read
 more,


Are we? I thought Haskell.org was intended to describe what Haskell *is*.
There are plenty of articles and blog posts and wiki pages out there that
advocate Haskell. I don't see why the main web page needs to be polluted
with marketing.

-- 
Dave Menendez [EMAIL PROTECTED]
http://www.eyrie.org/~zednenem/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Thomas Davie

On 27 Nov 2007, at 14:44, David Menendez wrote:


On Nov 26, 2007 1:44 PM, Thomas Davie [EMAIL PROTECTED] wrote:

But the point is that this section of the site is the bit that's meant
to be an advertisement -- we're trying to encourage people to read
more,

Are we? I thought Haskell.org was intended to describe what Haskell  
*is*. There are plenty of articles and blog posts and wiki pages out  
there that advocate Haskell. I don't see why the main web page needs  
to be polluted with marketing.


Because someone's first contact with Haskell is likely to be someone  
saying I use this really cool language called Haskell, or a lecturer  
teaching it to them.  In either case, if a tiny amount of interest is  
sparked, their likely second contact is likely to be haskell.org  
(through guessing or googling).  Quite frankly, there's nothing going  
to put me off a language more than a paragraph full of unknown buzz  
words that I have to look up on the front page.


There's plenty of places on Haskell.org where we can describe what  
haskell *is*, but the front page should be used for grabbing peoples  
attention and telling them why it's useful.


Tom Davie
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Thomas Schilling
On Tue, 2007-11-27 at 09:44 -0500, David Menendez wrote:
 On Nov 26, 2007 1:44 PM, Thomas Davie [EMAIL PROTECTED] wrote:
 
 
 
 But the point is that this section of the site is the bit
 that's meant
 to be an advertisement -- we're trying to encourage people to
 read
 more, 
 
 Are we? I thought Haskell.org was intended to describe what Haskell
 *is*. There are plenty of articles and blog posts and wiki pages out
 there that advocate Haskell. I don't see why the main web page needs
 to be polluted with marketing. 

If someone hears/reads someone talk about Haskell they're probably not
going to browse through all the blog posts to find out bits and pieces.
They go to the first hit that comes up whan typing Haskell into
Google, which is www.haskell.org.

The very basics of web-usability include that users have to find what
they're looking for very, very quickly or they're going somewhere else
or simply lose interest.  That is why the contents of the home page are
very important.  Let's not miss this opportunity.

/ Thomas

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Henning Thielemann

On Tue, 27 Nov 2007, Thomas Davie wrote:

 On 27 Nov 2007, at 14:44, David Menendez wrote:

  On Nov 26, 2007 1:44 PM, Thomas Davie [EMAIL PROTECTED] wrote:
 
  But the point is that this section of the site is the bit that's meant
  to be an advertisement -- we're trying to encourage people to read
  more,
 
  Are we? I thought Haskell.org was intended to describe what Haskell
  *is*. There are plenty of articles and blog posts and wiki pages out
  there that advocate Haskell. I don't see why the main web page needs
  to be polluted with marketing.

 Because someone's first contact with Haskell is likely to be someone
 saying I use this really cool language called Haskell, or a lecturer
 teaching it to them.  In either case, if a tiny amount of interest is
 sparked, their likely second contact is likely to be haskell.org
 (through guessing or googling).

I think this is true, but for me it means, that we do not need another
advertisement at Haskell.org, but facts. I also expect that people
visiting the site already know about static typing and have categorized
themselves into static typing lovers or haters. They will also have heard
about polymorphism (just like object-orientation :-). So they only need to
find out about the words, they do not know.

  Quite frankly, there's nothing going to put me off a language more than
 a paragraph full of unknown buzz words that I have to look up on the
 front page.

 There's plenty of places on Haskell.org where we can describe what
 haskell *is*, but the front page should be used for grabbing peoples
 attention and telling them why it's useful.

Haskell.org is not only for new users. I like it as front page, because of
the news and the entry points to the Wiki.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread David Fox
On Nov 27, 2007 8:14 AM, Henning Thielemann [EMAIL PROTECTED]
wrote:


 On Tue, 27 Nov 2007, Thomas Davie wrote:

  On 27 Nov 2007, at 14:44, David Menendez wrote:
 
   On Nov 26, 2007 1:44 PM, Thomas Davie [EMAIL PROTECTED] wrote:
  
   But the point is that this section of the site is the bit that's meant
   to be an advertisement -- we're trying to encourage people to read
   more,
  
   Are we? I thought Haskell.org was intended to describe what Haskell
   *is*. There are plenty of articles and blog posts and wiki pages out
   there that advocate Haskell. I don't see why the main web page needs
   to be polluted with marketing.
 
  Because someone's first contact with Haskell is likely to be someone
  saying I use this really cool language called Haskell, or a lecturer
  teaching it to them.  In either case, if a tiny amount of interest is
  sparked, their likely second contact is likely to be haskell.org
  (through guessing or googling).

 I think this is true, but for me it means, that we do not need another
 advertisement at Haskell.org, but facts. I also expect that people
 visiting the site already know about static typing and have categorized
 themselves into static typing lovers or haters. They will also have heard
 about polymorphism (just like object-orientation :-). So they only need to
 find out about the words, they do not know.

   Quite frankly, there's nothing going to put me off a language more than
  a paragraph full of unknown buzz words that I have to look up on the
  front page.
 
  There's plenty of places on Haskell.org where we can describe what
  haskell *is*, but the front page should be used for grabbing peoples
  attention and telling them why it's useful.

 Haskell.org is not only for new users. I like it as front page, because of
 the news and the entry points to the Wiki.
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe



In that case we need to identify all the groups that the front page is
serving and create separate areas for each, all above the fold as it were:

1. A sales pitch for new users.  I see how much this disturbs some people,
but maybe it is better to think of it as a quick introduction with a focus
on benefits and comparisons to things which are already familiar.  This is
what one needs when one is in the stage of deciding whether to pursue
something.

2. After you have decided whether to pursue Haskell, you probably want to
decide *how* to pursue it.  In this section would be much of what is there
now - links to the definition, documentation, and important tutorials,
mailing lists, and so on.

3. Finally, you want a section for people who are already deeply involved.
This would be a news section, probably an RSS feed, links to newsletters,
and so on.

This thread should focus on part 1 above.  I think it would be a huge
mistake to deliberately omit this material because we do not need another
advertisement at Haskell.org http://haskell.org/, but facts.  Its all
facts!  Haskell.org needs to serve everyone who arrives there.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Thomas Schilling
On Tue, 2007-11-27 at 08:34 -0800, David Fox wrote:
 On Nov 27, 2007 8:14 AM, Henning Thielemann
 [EMAIL PROTECTED] wrote:
 
 On Tue, 27 Nov 2007, Thomas Davie wrote:
 
  On 27 Nov 2007, at 14:44, David Menendez wrote:
 
   On Nov 26, 2007 1:44 PM, Thomas Davie
 [EMAIL PROTECTED] wrote:
  
   But the point is that this section of the site is the bit
 that's meant
   to be an advertisement -- we're trying to encourage people
 to read
   more,
  
   Are we? I thought Haskell.org was intended to describe
 what Haskell
   *is*. There are plenty of articles and blog posts and wiki
 pages out 
   there that advocate Haskell. I don't see why the main web
 page needs
   to be polluted with marketing.
 
  Because someone's first contact with Haskell is likely to be
 someone
  saying I use this really cool language called Haskell, or
 a lecturer
  teaching it to them.  In either case, if a tiny amount of
 interest is
  sparked, their likely second contact is likely to be
 haskell.org
  (through guessing or googling).
 
 
 I think this is true, but for me it means, that we do not need
 another
 advertisement at Haskell.org, but facts. I also expect that
 people
 visiting the site already know about static typing and have
 categorized
 themselves into static typing lovers or haters. They will also
 have heard
 about polymorphism (just like object-orientation :-). So they
 only need to 
 find out about the words, they do not know.
 
   Quite frankly, there's nothing going to put me off a
 language more than
  a paragraph full of unknown buzz words that I have to look
 up on the 
  front page.
 
  There's plenty of places on Haskell.org where we can
 describe what
  haskell *is*, but the front page should be used for grabbing
 peoples 
  attention and telling them why it's useful.
 
 
 Haskell.org is not only for new users. I like it as front
 page, because of
 the news and the entry points to the Wiki. 
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 
 
 In that case we need to identify all the groups that the front page is
 serving and create separate areas for each, all above the fold as it
 were: 
 
 1. A sales pitch for new users.  I see how much this disturbs some
 people, but maybe it is better to think of it as a quick introduction
 with a focus on benefits and comparisons to things which are already
 familiar.  This is what one needs when one is in the stage of deciding
 whether to pursue something. 
 
 2. After you have decided whether to pursue Haskell, you probably want
 to decide *how* to pursue it.  In this section would be much of what
 is there now - links to the definition, documentation, and important
 tutorials, mailing lists, and so on. 
 
 3. Finally, you want a section for people who are already deeply
 involved.  This would be a news section, probably an RSS feed, links
 to newsletters, and so on.
 
 This thread should focus on part 1 above.  I think it would be a huge
 mistake to deliberately omit this material because we do not need
 another advertisement at Haskell.org, but facts.  Its all facts!
 Haskell.org needs to serve everyone who arrives there.

I agree.  I know that all those things belong on the front page, but we
have to start somewhere.  In order to keep the thread productive I
decided to post a concrete draft to work with rather than a general
approach.  

I do not want to remove any other parts of the page, except for the
slogan.  We could re-arrange things a little, though.  For example,
putting the Getting Started part in the middle rather than at the side
is a good idea, IMO.  Also, the headlines are a little out of date, so
maybe we should push them down a little. 

So here's the current state, incorporating various suggestions and
improvements.  I'd like to keep the research keyword (but tied closely
with practical), since this is one rather distinguishing aspect of
Haskell.

  
 
Haskell is a modern, general-purpose, pure functional programming
language that combines many powerful results from research into a
practical programming language.  Its features include:

 * Static typing increases robustness as the compiler will
   catch many common errors automatically.

 * Type inference deduces types automatically freeing
   the programmer from writing superfluous type signatures.

 * Higher-order functions, polymorphism, and
   laziness 

Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Graham Fawcett
On Nov 27, 2007 11:14 AM, Henning Thielemann
[EMAIL PROTECTED] wrote:
 I think this is true, but for me it means, that we do not need another
 advertisement at Haskell.org, but facts. I also expect that people
 visiting the site already know about static typing and have categorized
 themselves into static typing lovers or haters. They will also have heard
 about polymorphism (just like object-orientation :-). So they only need to
 find out about the words, they do not know.

For what it's worth, the Python community went through a contentious
debate when it was decided to release a new -- dare I say
corporate-friendly? -- Web site a few years ago. Experienced users
didn't want some marketroid to plough across their tried-and-true
navigation pathways. But it was done; and once the site was up, the
debate quickly ended, and everyone simply got back to work. Having a
front-page that was welcoming to outsiders (for several values of
outside) turned out not to be very disruptive at all. Experienced
users quickly find what they are looking for, as long as the
navigation is reasonable.

I offer this as a cautionary tale, before the debate heats up.

Graham
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-27 Thread Sterling Clover


On Nov 27, 2007, at 11:34 AM, David Fox wrote:


In that case we need to identify all the groups that the front page  
is serving and create separate areas for each, all above the fold  
as it were:


1. A sales pitch for new users.  I see how much this disturbs  
some people, but maybe it is better to think of it as a quick  
introduction with a focus on benefits and comparisons to things  
which are already familiar.  This is what one needs when one is in  
the stage of deciding whether to pursue something.


There should also be a bit of discussion on *who* folks want the  
pitch to attract. As I see it, there are a number of categories here  
as well, and maybe even links to breakout pages for different  
demographics could be in order.


I expect any number of us have had the experience where we want to  
use Haskell on a project, and need to convince our project manager /  
other form of immediate supervisor / boss / whatever that this is a  
good idea -- so there needs  to be a pitch geared to benefits that  
they'll latch on to -- reliability, clarity, maintainability,  
provability, speed, momentum and staying power, library support, etc.


Then there should be a different sort of pitch for casual new users  
that want to get their feet wet in different sorts of programming  
concepts.


Finally, there should be a pitch for people that really know what's  
up, so to speak, are looking for a place to expend some of their  
significant talent, and are going to be attracted by some of the  
mathematically cooler/geekier/blow-your-mind aspects of Haskell, the  
power of its type system, etc. Mindshare among these folks is key for  
more people that want to hack on getting Cabal to just work, adopt  
the maintenance of libraries and come up with new and useful  
proposals therein, get involved with compiler development (or at  
least generate really useful test-cases and bug reports), and all that.


--Sterl
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-26 Thread Henning Thielemann

On Thu, 4 Oct 2007, Don Stewart wrote:

 The Haskell website has the rather strange motivational text:

 Haskell is a general purpose, purely functional programming language
 featuring static typing, higher order functions, polymorphism, type
 classes, and monadic effects. Haskell compilers are freely available
 for almost any computer.

To continue an old thread: What about turning the strange words like
'monadic effects' into links to glossary articles?

Btw. where is 'lazy' ?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-26 Thread Henning Thielemann

On Mon, 26 Nov 2007, Thomas Davie wrote:

 On 26 Nov 2007, at 15:15, Henning Thielemann wrote:

 
  On Thu, 4 Oct 2007, Don Stewart wrote:
 
  The Haskell website has the rather strange motivational text:
 
 Haskell is a general purpose, purely functional programming
  language
 featuring static typing, higher order functions, polymorphism,
  type
 classes, and monadic effects. Haskell compilers are freely
  available
 for almost any computer.
 
  To continue an old thread: What about turning the strange words like
  'monadic effects' into links to glossary articles?
 
  Btw. where is 'lazy' ?

 I believe the point of this discussion was that anyone reading the
 Haskell webpage will currently get about as far as featuring static
 typing, and go this is all very nice, but what exactly does this
 language do for me?  Why should I use it?.  Take for example what the
 python website says:

I didn't want to repeat the discussion. I think the discussion ended with:
Anything more helpful would be too long for the title line at haskell.org,
and a more detailed explanation (but not a generic advertisement like that
from Python) should be reachable easily. Now my idea was, that making
links to glossary articles leaves the slogan as short as it is, and allows
people to find out quickly about the words they still don't know. An
explanation why Haskell's features are useful for programmers is still
required.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-26 Thread Thomas Davie


On 26 Nov 2007, at 15:50, Henning Thielemann wrote:



On Mon, 26 Nov 2007, Thomas Davie wrote:


On 26 Nov 2007, at 15:15, Henning Thielemann wrote:



On Thu, 4 Oct 2007, Don Stewart wrote:


The Haskell website has the rather strange motivational text:

  Haskell is a general purpose, purely functional programming
language
  featuring static typing, higher order functions, polymorphism,
type
  classes, and monadic effects. Haskell compilers are freely
available
  for almost any computer.


To continue an old thread: What about turning the strange words like
'monadic effects' into links to glossary articles?

Btw. where is 'lazy' ?


I believe the point of this discussion was that anyone reading the
Haskell webpage will currently get about as far as featuring static
typing, and go this is all very nice, but what exactly does this
language do for me?  Why should I use it?.  Take for example what  
the

python website says:


I didn't want to repeat the discussion. I think the discussion ended  
with:
Anything more helpful would be too long for the title line at  
haskell.org,
and a more detailed explanation (but not a generic advertisement  
like that

from Python) should be reachable easily. Now my idea was, that making
links to glossary articles leaves the slogan as short as it is, and  
allows

people to find out quickly about the words they still don't know. An
explanation why Haskell's features are useful for programmers is still
required.


But the point is that this section of the site is the bit that's meant  
to be an advertisement -- we're trying to encourage people to read  
more, and quite frankly, making it a fist full of links would make at  
least me think Well bugger this if I have to read 10 pages before I  
even have a clue what it is.


Bob
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-26 Thread Thomas Schilling
On Thu, 2007-10-04 at 10:36 -0700, Don Stewart wrote:
 It was raised at CUFP today that while Python has:
 
 Python is a dynamic object-oriented programming language that can be
 used for many kinds of software development. It offers strong
 support for integration with other languages and tools, comes with
 extensive standard libraries, and can be learned in a few days. Many
 Python programmers report substantial productivity gains and feel
 the language encourages the development of higher quality, more
 maintainable code.
 
 With the links from the start about using Python for various purposes,
 along with reassuring text about licenses and so on. 
 
 Note its all about how it can help you.
 
 The Haskell website has the rather strange motivational text:
 
 Haskell is a general purpose, purely functional programming language
 featuring static typing, higher order functions, polymorphism, type
 classes, and monadic effects. Haskell compilers are freely available
 for almost any computer.
 
 Which doesn't say why these help you.
 
 Any suggestions on a 2 or 3 sentence spiel about what's available?
 
 Here's some quick points:
 
 General purpose: applications from OS kernels to compilers to web dev to 
 ...
 Strong integration with other languages: FFI, and FFI binding tools
 Many developer tools: debugger, profiler, code coverage, QuickCheck
 Extensive libraries: central library repository, central repo hosting 
 Productivity, robustness, maintainability: purity, type system, etc
 Parallelism!
 


Haskell is a general-purpose, pure functional programming languages
that puts many interesting results from research into a practical
programming language.  It's features include:

 * Static typing with type inference: enables writing robust and fast
   programs quickly and makes large code bases maintainable.

 * Higher-order functions, polymorphism, and laziness: enables higher
   levels of abstraction, more composable, thus reusable code.

 * Purity: helps keeping your code maintainable and testable.

Haskell comes with many libraries, freely available compilers for
almost any computer, debuggers, profilers, code coverage and testing
tools.


That seems short enough to me.  Things that could find their way in are:

  monads: for the embedded DSL angle
  paralellism: mention STM and high-level combinators




___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-26 Thread Andrew Coppin

Thomas Davie wrote:
But the point is that this section of the site is the bit that's meant 
to be an advertisement -- we're trying to encourage people to read 
more, and quite frankly, making it a fist full of links would make at 
least me think Well bugger this if I have to read 10 pages before I 
even have a clue what it is.


Mmm, the man has a point...

I guess it's kinda hard to explain in just a few words why Haskell is 
actually so damn cool. I mean, you can write it enables you to write 
less code. (Ever heard that one before?) Or you could say it makes 
your programs more reliable (er, yes, I believe we've heard that all 
before too). Or even, it enables you to easily harness multicore 
computing (except that it isn't true - yet). Hmm... so we seem to have 
a choice between verbose statements that nobody is going to read, or 
hopeful promises of better which we can't substansiate. Oh dear...


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-11-26 Thread David Fox
On Nov 26, 2007 11:38 AM, Thomas Schilling [EMAIL PROTECTED] wrote:


 Haskell is a general-purpose, pure functional programming languages
 that puts many interesting results from research into a practical
 programming language.  It's features include:


 I think it is stronger to say many powerful results rather than many
interesting results.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-23 Thread Jonathan Cast
On Fri, 2007-10-12 at 19:33 -0400, Brandon S. Allbery KF8NH wrote:
 On Oct 12, 2007, at 18:35 , Albert Y. C. Lai wrote:
 
  You are not expected to be convinced this, but it seems  
  continuations completely characterize system programming. :)
 
 Didn't someone already prove all monads can be implemented in terms  
 of Cont?

Well, ContT exists, which includes an isomorphic copy of its argument.
So, yeah.

But not all of system programming is captured by monads.

jcc


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-12 Thread Albert Y. C. Lai

Tim Newsham wrote:

You are not expected to understand this.
   http://swtch.com/unix/


Hehehe!

Elite system programmers understand it.

If it is rephrased in terms of continuations, elite lambda calculus 
programmers will also understand it.


You are not expected to be convinced this, but it seems continuations 
completely characterize system programming. :)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-12 Thread Brandon S. Allbery KF8NH


On Oct 12, 2007, at 18:35 , Albert Y. C. Lai wrote:

You are not expected to be convinced this, but it seems  
continuations completely characterize system programming. :)


Didn't someone already prove all monads can be implemented in terms  
of Cont?


(here you see why schemers are so wedded to call/cc...)

--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-12 Thread Don Stewart
allbery:
 
 On Oct 12, 2007, at 18:35 , Albert Y. C. Lai wrote:
 
 You are not expected to be convinced this, but it seems  
 continuations completely characterize system programming. :)
 
 Didn't someone already prove all monads can be implemented in terms  
 of Cont?
 

Cont and StateT, wasn't it?
And the schemers have no choice about running in StateT :)

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-11 Thread Henning Thielemann


On Wed, 10 Oct 2007, Seth Gordon wrote:

Aha!  Instead of the lambda surrounded by mathematical stuff as the 
haskell.org logo, we need a picture of a medicine bottle.


Haskell.  Fewer headaches.  No side effects.


Alternatively, a picture of a red pill with an embossed lambda...


A snake enwinding an Aesculambda.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-11 Thread Sebastian Sylvan
On 10/10/2007, Seth Gordon [EMAIL PROTECTED] wrote:

  Nervous? Anxious? You found an irreproducable bug in your program and
  have to fix it until tomorrow? You feel that your code needs essential
  cleanup, but you postponed it for long in order to not introduce new
  bugs? You can hardly maintain the code as it grows and grows?
 
  Pause a minute!
 
  Maybe we can help. Try Haskell. Its effect is immediate and
  long-lasting. There are warrantedly no side effects. It's scientifically
  approved. Available without prescription.

 Aha!  Instead of the lambda surrounded by mathematical stuff as the
 haskell.org logo, we need a picture of a medicine bottle.

 Haskell.  Fewer headaches.  No side effects.

I like this, very catchy!

Though, I suppose, if you're a die-hard imperative programmer, you
probably will have a few headaches as you try to wrap your head around
Haskell :-)

-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-11 Thread Jonathan Cast
On Wed, 2007-10-10 at 21:45 -0400, Brandon S. Allbery KF8NH wrote:
 On Oct 10, 2007, at 20:14 , Michael Vanier wrote:
 
  I haven't been following this discussion closely, but here's an  
  idea: use reverse psychology.
 
  Haskell -- You're probably not smart enough to understand it.
 
  Nothing like appealing to people's machismo to get them interested.
 
 Haskell already has that reputation, and so far as I've seen most  
 programmers conclude they shouldn't waste time on it when any half- 
 trained monkey can write Java/Perl/Python.

And regularly does.  Unfortunately, American culture is such that most
people *aspire* to being half-trained monkeys...

jcc


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-11 Thread Donn Cave
On Thu, 11 Oct 2007, Jonathan Cast wrote:
 On Wed, 2007-10-10 at 21:45 -0400, Brandon S. Allbery KF8NH wrote:
[... re programming language machismo ... ]
 Haskell already has that reputation, and so far as I've seen most  
 programmers conclude they shouldn't waste time on it when any half- 
 trained monkey can write Java/Perl/Python.
 
 And regularly does.  Unfortunately, American culture is such that most
 people *aspire* to being half-trained monkeys...

Yes, when programmers care more about what they're creating,
than the tools they create it with, you have to wonder what's
become of us.

Donn Cave, [EMAIL PROTECTED]

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-11 Thread Andrew Coppin

Michael Vanier wrote:
I haven't been following this discussion closely, but here's an idea: 
use reverse psychology.


Haskell -- You're probably not smart enough to understand it.

Nothing like appealing to people's machismo to get them interested.


Oooo!

+15

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-11 Thread Tim Newsham

Haskell -- You're probably not smart enough to understand it.


You are not expected to understand this.
   http://swtch.com/unix/

Tim Newsham
http://www.thenewsh.com/~newsham/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Henning Thielemann


On Tue, 9 Oct 2007, Seth Gordon wrote:


Henning Thielemann wrote:

In my experience only the other way round works: Let people use C, Perl and 
Python until they find their programs unmaintainable. Then they will become 
interested in style and discipline and programming languages which 
_support_ good style.


Perhaps this could be the kernel of a slogan: If you're having trouble 
maintaining your code because ..., perhaps you should try Haskell.


Nervous? Anxious? You found an irreproducable bug in your program and 
have to fix it until tomorrow? You feel that your code needs essential 
cleanup, but you postponed it for long in order to not introduce new bugs? 
You can hardly maintain the code as it grows and grows?


Pause a minute!

Maybe we can help. Try Haskell. Its effect is immediate and long-lasting. 
There are warrantedly no side effects. It's scientifically approved. 
Available without prescription.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Peter Verswyvelen
 Henning Thielemann wrote:
 There are warrantedly no side effects. It's scientifically approved. 
 Available without prescription.

:) 

Yes, but doctor, my space is leaking! ;-)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Peter Verswyvelen

Henning Thielemann wrote:

 It's scientifically approved. Available without prescription.

Doctor doctor, can you curry me?

Okay, I'm gonna stop now :-)

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Calvin Smith
Claus Reinke wrote:
 since this doesn't seem to want to go away:-)
 
 1. reverse psychology approach
 ...
 2. mantra approach
 ...
 3. secret cult approach
 ...
 4. reach for the moon approach
 ...

5. The fun approach:

Haskell: we put the Fun in Functor.

I'm only half-joking, because for me personally, the number one reason I
 program in Haskell is that's it's just more fun than other languages
I've tried.

-cs
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Seth Gordon


Nervous? Anxious? You found an irreproducable bug in your program and 
have to fix it until tomorrow? You feel that your code needs essential 
cleanup, but you postponed it for long in order to not introduce new 
bugs? You can hardly maintain the code as it grows and grows?


Pause a minute!

Maybe we can help. Try Haskell. Its effect is immediate and 
long-lasting. There are warrantedly no side effects. It's scientifically 
approved. Available without prescription.


Aha!  Instead of the lambda surrounded by mathematical stuff as the 
haskell.org logo, we need a picture of a medicine bottle.


Haskell.  Fewer headaches.  No side effects.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Seth Gordon


Aha!  Instead of the lambda surrounded by mathematical stuff as the 
haskell.org logo, we need a picture of a medicine bottle.


Haskell.  Fewer headaches.  No side effects.


Alternatively, a picture of a red pill with an embossed lambda...
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Andrew Coppin

Seth Gordon wrote:


Aha!  Instead of the lambda surrounded by mathematical stuff as the 
haskell.org logo, we need a picture of a medicine bottle.


Haskell.  Fewer headaches.  No side effects.


Alternatively, a picture of a red pill with an embossed lambda...


I can hear millions of CS students across the globe yelling why oh why 
didn't I take the BLUE pill! ;-)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Andrew Coppin

Henning Thielemann wrote:


On Mon, 8 Oct 2007, Alistair Bayley wrote:


On 08/10/2007, Henning Thielemann [EMAIL PROTECTED] wrote:


You cannot turn any programmer into a disciplined programmer just by
giving him a well designed language. I you try so, they will not 
like to

use that language, will leave that language as soon as possible or they
try to adapt the language to their style of programming.


Well, I wasn't suggesting you'll create great programmers overnight,
but you might expect that their appreciation of good design might
improve after some Haskell exposure. Also, Haskell simply doesn't
support some of the things that are common causes of errors in the
enterprisey-language world. I recall reading something about one of
the most common causes of errors in novice programs being type errors
(presumably, once they'd got the program to compile i.e. there were no
syntactic errors). And I'm under the (possibly mistaken) impression
that some of the common errors non-novice programmers make are
aliasing bugs, and/or use of global variables. Does anyone have
references to studies confirming (or refuting) this?


Thus, what happens today? People ask Haskell-Cafe how to implement 
global variables and they are advised to use IORefs and 
unsafePerformIO, although the better answer is: Why do you want to do 
this? Even Tackling the awkward squad considers unsafePerformIO an 
acceptable tool for handling global configuration files.


I know of lots of people who proclaim that Linux sux because it isn't 
Windoze. I can well imagine hords of impatient Java programmers decrying 
Haskell because it isn't Java. (It's not even OO, man!)


Haskell is many things, but few would seriously claim it to be the 
silver bullet to effortlessly writing bug-free code.


(Indeed, the number of times my Haskell programs have locked up due to 
me accidentally writing let x = foo x...)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Andrew Coppin

Derek Elkins wrote:

On Mon, 2007-10-08 at 20:54 +1000, Thomas Conway wrote:
I must say, I get that! but at the same time, of course, the high
level abstraction is exactly what *we* love about Haskell.
  


Then they should teach assembly not Python.  In fact, I'd recommend
assembly anyway.
  


Ah yes, I remember my days of learning assembly at uni. That particular 
subject was taught by Mr Apathy. His attitude of well I'm supposed to 
tell you all this because it's in the exam, but you don't *really* need 
to know any of this stuff, modern compilers will do it all for you 
anyway really inspired me to learn. Not. But then, his attitude to 
*everything* seemed to follow a similar pattern. (E.g., the rebuilding 
of Colossus was pointless and it'll never be the original, etc.)


Personally, I think knowing at least what assembly is *about* is very 
important for understanding what really happens deep down inside the 
machine. (I'm less sold on whether you really need to learn a particular 
dialect well enough to *program* in it...)


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Andrew Coppin

How about we just steal the BBC's slogan? Where different works ;-)

Say what you like about Haskell, but it is undeniably very different to 
mainstream programming languages. This in itself is a potential 
advantage (and problem).


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Philippa Cowderoy
On Wed, 10 Oct 2007, Andrew Coppin wrote:

 (I'm less sold on whether you really need to learn a particular dialect 
 well enough to *program* in it...)
 

If you don't then you won't be able to see how complicated things actually 
get done. It's also an important exercise in abstracting things and 
keeping something understandable when the system you're building is 
fighting back against it.

-- 
[EMAIL PROTECTED]

My religion says so explains your beliefs. But it doesn't explain
why I should hold them as well, let alone be restricted by them.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Derek Elkins
On Wed, 2007-10-10 at 23:48 +0100, Philippa Cowderoy wrote:
 On Wed, 10 Oct 2007, Andrew Coppin wrote:
 
  (I'm less sold on whether you really need to learn a particular dialect 
  well enough to *program* in it...)
  
 
 If you don't then you won't be able to see how complicated things actually 
 get done. It's also an important exercise in abstracting things and 
 keeping something understandable when the system you're building is 
 fighting back against it.
 
As you might imagine, I agree with Philippa.  You can certainly be a
competent programmer without being able to program in assembly, but
there is a definite step in understanding between having an idea of what
is happening in assembly and being confident in your ability to write
non-trivial programs in it.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Michael Vanier

I haven't been following this discussion closely, but here's an idea: use 
reverse psychology.

Haskell -- You're probably not smart enough to understand it.

Nothing like appealing to people's machismo to get them interested.

Mike


Seth Gordon wrote:


Aha!  Instead of the lambda surrounded by mathematical stuff as the 
haskell.org logo, we need a picture of a medicine bottle.


Haskell.  Fewer headaches.  No side effects.


Alternatively, a picture of a red pill with an embossed lambda...
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Dan Weston
What we really need is a sort of stress-strain curve for each of the 
major languages. Since Haskell is a typed language, we can have one 
curve for types and one for values:


VARIABLE  TYPEVALUE
---
stress | effort to learn language  | coding effort/time required
---|---| 


strain | ability to solve problems | marginal rate that problem
   |   | is being solved
---|---|
yield  | knowledge needed to write | boilerplate code needed
strength   | Hello World program |
---|---|
modulus of | semantic power of | productivity once boring
elasticity | language syntax   | stuff has been written
---|---|
ultimate   | expressive power  | NONE
strain | of the language   |
---|---|
ultimate   | NONE  | point at which code
strength   |   | is getting beyond you
---|---|
failure| NONE  | point at which code is
point  |   | broken and indecipherable


Each language will be strong in one part of the curve. Haskell is 
superior in those parts of the curve where it matters most in real 
tasks, at the high strain end of the graph, both in type (there's always 
something more to learn, so no programmer burn-out) and in value (one 
person can manage more complexity with less effort).


The PR problem is that newcomers to Haskell are being asked either to:
1) Trust me (but President Bush has strained that argument past failure)
2) Sample the curve at the low end (benchmarks, toy problems) and 
extrapolate the higher end, giving a very false impression


The only answer is to provide a positive marginal interest at each point 
in the language acquisition process to entice the learner to keep 
sampling as (s)he progresses individually up the curve. This is the real 
benefit (and most noble purpose) of haskell-cafe. And of course the 
justification for this strained material science metaphor! :)


Dan Weston

Philippa Cowderoy wrote:

On Wed, 10 Oct 2007, Andrew Coppin wrote:

(I'm less sold on whether you really need to learn a particular dialect 
well enough to *program* in it...)




If you don't then you won't be able to see how complicated things actually 
get done. It's also an important exercise in abstracting things and 
keeping something understandable when the system you're building is 
fighting back against it.





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-10 Thread Brandon S. Allbery KF8NH


On Oct 10, 2007, at 20:14 , Michael Vanier wrote:

I haven't been following this discussion closely, but here's an  
idea: use reverse psychology.


Haskell -- You're probably not smart enough to understand it.

Nothing like appealing to people's machismo to get them interested.


Haskell already has that reputation, and so far as I've seen most  
programmers conclude they shouldn't waste time on it when any half- 
trained monkey can write Java/Perl/Python.


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator [openafs,heimdal,too many hats] [EMAIL PROTECTED]
electrical and computer engineering, carnegie mellon universityKF8NH


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-09 Thread Henning Thielemann


On Mon, 8 Oct 2007, Derek Elkins wrote:


On Mon, 2007-10-08 at 20:54 +1000, Thomas Conway wrote:


I must say, I get that! but at the same time, of course, the high
level abstraction is exactly what *we* love about Haskell.


Then they should teach assembly not Python.  In fact, I'd recommend
assembly anyway.


Me too. Assembly language is very nice, minimalistic (ok, for today 
processor not really, even not for RISC processors) and help you 
understand, what really happens in the machine.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] New slogan for haskell.org

2007-10-09 Thread Peter Verswyvelen
Yep, I totally agree.

At our school, we're teaching the students assembly language, starting with
8-bit 6502 assembly :-) 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Henning Thielemann
Sent: Tuesday, October 09, 2007 10:06 AM
To: Derek Elkins
Cc: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] New slogan for haskell.org


On Mon, 8 Oct 2007, Derek Elkins wrote:

 On Mon, 2007-10-08 at 20:54 +1000, Thomas Conway wrote:

 I must say, I get that! but at the same time, of course, the high
 level abstraction is exactly what *we* love about Haskell.

 Then they should teach assembly not Python.  In fact, I'd recommend
 assembly anyway.

Me too. Assembly language is very nice, minimalistic (ok, for today 
processor not really, even not for RISC processors) and help you 
understand, what really happens in the machine.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-09 Thread Seth Gordon

Henning Thielemann wrote:

In my experience only the other way round works: Let people use C, Perl 
and Python until they find their programs unmaintainable. Then they will 
become interested in style and discipline and programming languages 
which _support_ good style.


Perhaps this could be the kernel of a slogan: If you're having trouble 
maintaining your code because ..., perhaps you should try Haskell.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Alistair Bayley
On 05/10/2007, Andrew Coppin [EMAIL PROTECTED] wrote:
 
  So the question becomes: do you want to attract/seduce this kind of
  programmer? Let's assume the answer is yes :-)

 Um... that assumpion troubles me.
 ...
 I think if we want to get anywhere we need to look at targeting people
 whom Haskell actually has something to offer. Now, if I could just
 figure out who those are... :-/

And:

On 05/10/2007, Jonathan Cast [EMAIL PROTECTED] wrote:
 On Fri, 2007-10-05 at 20:19 +, Aaron Denney wrote:
  On 2007-10-05, Peter Verswyvelen [EMAIL PROTECTED] wrote:
   If you want to attract more people that are inside the
   imperative-OO-with-nice-IDE-blob, create a great looking and
   functional IDE.
 
  Bluntly, I don't see why the Haskell community needs those sorts of
  programmers.

 Hear, hear.  At the company I work for, all the code is perl/web
 development --- and we wouldn't dream of hiring one of those
 programmers.


I posed the question: do we want to attract this kind of programmer?
My personal opinion, which some of you obviously don't share, is yes.

It isn't about whether or not the Haskell community needs those sorts
of programmers. It's whether or not those sorts of programmers need
Haskell.

For me, a large part of Haskell's attraction are the features which
reflect good engineering practice: strong, static type checking;
purely functional code; good FFI. It should be easier to write simple,
reliable software in Haskell than in most other languages; IMO,
getting the unwashed hordes to use Haskell would be a great
improvement in software industry productivity.

I realise that a large influx of mediocre programmers will have a
negative effect on the community, but is that a reasonable price to
pay? I understand that may of you love a small, intimate, high-quality
community, but perhaps that will have to evolve if we really want to
conquer the world.

Alistair
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Henning Thielemann


On Mon, 8 Oct 2007, Alistair Bayley wrote:


I posed the question: do we want to attract this kind of programmer?
My personal opinion, which some of you obviously don't share, is yes.

It isn't about whether or not the Haskell community needs those sorts
of programmers. It's whether or not those sorts of programmers need
Haskell.


You cannot turn any programmer into a disciplined programmer just by 
giving him a well designed language. I you try so, they will not like to 
use that language, will leave that language as soon as possible or they 
try to adapt the language to their style of programming.



For me, a large part of Haskell's attraction are the features which
reflect good engineering practice: strong, static type checking;


People who are used to weak typing will use a type like
  data Number = Int Int | Float Float | ...
 for numbers, or even String for everything, they will use numbers, where 
enumerations are more appropriate and so on.



purely functional code;


Undisciplined programmers will heavily use 'unsafePerformIO'


good FFI.


... and will call external C functions, where Haskell code is more 
appropriate.


It should be easier to write simple, reliable software in Haskell than 
in most other languages; IMO, getting the unwashed hordes to use Haskell 
would be a great improvement in software industry productivity.


I realise that a large influx of mediocre programmers will have a
negative effect on the community, but is that a reasonable price to
pay? I understand that may of you love a small, intimate, high-quality
community, but perhaps that will have to evolve if we really want to
conquer the world.


New programmers want example programs and libraries to learn style and 
tricks. The higher the portion of ill-designed libraries, the harder it is 
too find good examples.


In my experience only the other way round works: Let people use C, Perl 
and Python until they find their programs unmaintainable. Then they will 
become interested in style and discipline and programming languages which 
_support_ good style.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Thomas Conway
I just had a conversation today that seems relevant to this thread. I
was chatting with a friend who is working in the academic sector, and
I was observing that Melbourne Uni (my old school), is switching in
the new year from teaching Haskell as a first language, to teaching
Python. I was dismayed, but not surprised.

Anyway, I was talking about this with my friend said that he
understood the main reason for the change was that students were not
being switched on or excited learning Haskell as they used to be
learning C. He put it down to the fact that in C, you are more
obviously making the computer do stuff, and that Haskell is
sufficiently high level and abstract that beginner programmers don't
get that thrill of feeling like you're making the computer work for
you.

I must say, I get that! but at the same time, of course, the high
level abstraction is exactly what *we* love about Haskell.

cheers,
T.
-- 
Thomas Conway
[EMAIL PROTECTED]

Silence is the perfectest herald of joy:
I were but little happy, if I could say how much.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread David Menendez
On 10/8/07, Alistair Bayley [EMAIL PROTECTED] wrote:

 I realise that a large influx of mediocre programmers will have a
 negative effect on the community, but is that a reasonable price to
 pay? I understand that may of you love a small, intimate, high-quality
 community, but perhaps that will have to evolve if we really want to
 conquer the world.


Well, it's often been said that Haskell's unofficial motto is avoid success
at all costs.

See page 4 of Wearing the hair shirt:

http://research.microsoft.com/~simonpj/papers/haskell-retrospective/HaskellRetrospective-2.pdf

-- 
Dave Menendez [EMAIL PROTECTED]
http://www.eyrie.org/~zednenem/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread bf3
At my school the students are learning C/C++ in the programming courses, but
I'm teaching them a tiny bit of Haskell in the math courses, and most of
them seem to love it. I think every programmer should see an imperative,
object-oriented and lazy functional language, at least (and maybe also
Prolog...). And if you really want to have control over what the computer is
doing, stick to assembler... but who is still doing that these days?

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Thomas Conway
Sent: Monday, October 08, 2007 12:55 PM
To: Don Stewart
Cc: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] New slogan for haskell.org

I just had a conversation today that seems relevant to this thread. I
was chatting with a friend who is working in the academic sector, and
I was observing that Melbourne Uni (my old school), is switching in
the new year from teaching Haskell as a first language, to teaching
Python. I was dismayed, but not surprised.

Anyway, I was talking about this with my friend said that he
understood the main reason for the change was that students were not
being switched on or excited learning Haskell as they used to be
learning C. He put it down to the fact that in C, you are more
obviously making the computer do stuff, and that Haskell is
sufficiently high level and abstract that beginner programmers don't
get that thrill of feeling like you're making the computer work for
you.

I must say, I get that! but at the same time, of course, the high
level abstraction is exactly what *we* love about Haskell.

cheers,
T.
-- 
Thomas Conway
[EMAIL PROTECTED]

Silence is the perfectest herald of joy:
I were but little happy, if I could say how much.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Thomas Conway
On 10/8/07, Alistair Bayley [EMAIL PROTECTED] wrote:
 For me, a large part of Haskell's attraction are the features which
 reflect good engineering practice: strong, static type checking;
 purely functional code; good FFI. It should be easier to write simple,
 reliable software in Haskell than in most other languages; IMO,
 getting the unwashed hordes to use Haskell would be a great
 improvement in software industry productivity.

I recently put it thus to a friend: When it's hard writing a program
in Haskell, it is usually because Haskell makes you think about what
you are doing, and as a consequence you end up doing your thinking
sooner rather than later. This usually ends with better software with
fewer bugs.

cheers,
T.
-- 
Thomas Conway
[EMAIL PROTECTED]

Silence is the perfectest herald of joy:
I were but little happy, if I could say how much.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Alistair Bayley
On 08/10/2007, Henning Thielemann [EMAIL PROTECTED] wrote:

 You cannot turn any programmer into a disciplined programmer just by
 giving him a well designed language. I you try so, they will not like to
 use that language, will leave that language as soon as possible or they
 try to adapt the language to their style of programming.

Well, I wasn't suggesting you'll create great programmers overnight,
but you might expect that their appreciation of good design might
improve after some Haskell exposure. Also, Haskell simply doesn't
support some of the things that are common causes of errors in the
enterprisey-language world. I recall reading something about one of
the most common causes of errors in novice programs being type errors
(presumably, once they'd got the program to compile i.e. there were no
syntactic errors). And I'm under the (possibly mistaken) impression
that some of the common errors non-novice programmers make are
aliasing bugs, and/or use of global variables. Does anyone have
references to studies confirming (or refuting) this?

 People who are used to weak typing will use a type like
data Number = Int Int | Float Float | ...
   for numbers, or even String for everything, they will use numbers, where
 enumerations are more appropriate and so on.

I think that the ease with which you can create a new type in Haskell
(and derive useful classes like Enum, Show, etc) makes it more likely
that a programmer will use an appropriate domain-specific type, rather
than just reuse String, Int, or Float.

 In my experience only the other way round works: Let people use C, Perl
 and Python until they find their programs unmaintainable. Then they will
 become interested in style and discipline and programming languages which
 _support_ good style.

Well, yes. Or have them learn Haskell, and *then* C/C#/C++/Java/Perl
etc, and see if the experience for those languages is as good. I like
to think they'll come running back to Haskell's warm bosom.

Alistair
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Henning Thielemann


On Mon, 8 Oct 2007, Alistair Bayley wrote:


On 08/10/2007, Henning Thielemann [EMAIL PROTECTED] wrote:


You cannot turn any programmer into a disciplined programmer just by
giving him a well designed language. I you try so, they will not like to
use that language, will leave that language as soon as possible or they
try to adapt the language to their style of programming.


Well, I wasn't suggesting you'll create great programmers overnight,
but you might expect that their appreciation of good design might
improve after some Haskell exposure. Also, Haskell simply doesn't
support some of the things that are common causes of errors in the
enterprisey-language world. I recall reading something about one of
the most common causes of errors in novice programs being type errors
(presumably, once they'd got the program to compile i.e. there were no
syntactic errors). And I'm under the (possibly mistaken) impression
that some of the common errors non-novice programmers make are
aliasing bugs, and/or use of global variables. Does anyone have
references to studies confirming (or refuting) this?


Thus, what happens today? People ask Haskell-Cafe how to implement global 
variables and they are advised to use IORefs and unsafePerformIO, although 
the better answer is: Why do you want to do this? Even Tackling the 
awkward squad considers unsafePerformIO an acceptable tool for handling 
global configuration files.



People who are used to weak typing will use a type like
   data Number = Int Int | Float Float | ...
  for numbers, or even String for everything, they will use numbers, where
enumerations are more appropriate and so on.


I think that the ease with which you can create a new type in Haskell
(and derive useful classes like Enum, Show, etc) makes it more likely
that a programmer will use an appropriate domain-specific type, rather
than just reuse String, Int, or Float.


I know of popular Haskell libraries which ignore disciplined type design, 
but I do not want to hurt their authors ...

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread David Menendez
On 10/8/07, Henning Thielemann [EMAIL PROTECTED] wrote:


 Thus, what happens today? People ask Haskell-Cafe how to implement global
 variables and they are advised to use IORefs and unsafePerformIO, although
 the better answer is: Why do you want to do this? Even Tackling the
 awkward squad considers unsafePerformIO an acceptable tool for handling
 global configuration files.


One problem here is that the Haskell-style alternatives to global parameters
aren't as convenient as to use.

We should consider stealing Agda's module system for Haskell 2.0.

-- 
Dave Menendez [EMAIL PROTECTED]
http://www.eyrie.org/~zednenem/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Derek Elkins
On Mon, 2007-10-08 at 20:54 +1000, Thomas Conway wrote:
 I just had a conversation today that seems relevant to this thread. I
 was chatting with a friend who is working in the academic sector, and
 I was observing that Melbourne Uni (my old school), is switching in
 the new year from teaching Haskell as a first language, to teaching
 Python. I was dismayed, but not surprised.
 
 Anyway, I was talking about this with my friend said that he
 understood the main reason for the change was that students were not
 being switched on or excited learning Haskell as they used to be
 learning C. He put it down to the fact that in C, you are more
 obviously making the computer do stuff, and that Haskell is
 sufficiently high level and abstract that beginner programmers don't
 get that thrill of feeling like you're making the computer work for
 you.
 
 I must say, I get that! but at the same time, of course, the high
 level abstraction is exactly what *we* love about Haskell.

Then they should teach assembly not Python.  In fact, I'd recommend
assembly anyway.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Claus Reinke

since this doesn't seem to want to go away:-)

1. reverse psychology approach

   if you have reached this page following rumours of a language 
   others told you every serious programmer would have to learn,
   the ministry of programming would like to reassure you that 
   there is no such language. there is no need to panic! please 
   provide us with the names of those referers, so that we may 
   help them to understand the errors of their ways, then proceed 
   to theusual.com for urgent reeducation. 


   if you have been led to believe that the ideas of virtual machines,
   generic programming, etc have not originated in java, that map
   reduce was not invented by google, that pattern-matching does
   not need to be restricted to regular expressions, that parsers,
   interpreters, compilers for (embedded) domain-specific 
   languages might be written by mere programmers without 
   professional assistance, that neither concurrency nor maintenance

   need to lead to a mess, or similarly outrageous insinuations,
   please contact your nearest accredited consultant immediately.
   do not be alarmed! the ministry is here to help you!

   blink
   warning! our automated eye glance and attention monitors
   have detected that you have recognised at least one of the 
   trap phrases not representing authorised trademarks of

   wesellyoubuy.com products in the previous paragraphs.
   do not attempt to leave your keyboard! one of our 
   emergency thread supression teams has been dispatched

   to your present location! you have been warned!
   /blink

2. mantra approach

   there is no need to leave your warm fuzzy ide
   - to reassure yourself, debug some pointer errors
   and refactor some boilerplate code

   you do not need to learn haskell:
   - to restore your faith, buy two copies of programming 
   for everyone plus one of the manager is always right


   nothing is more effective than standard meta-muddling
   - version 3 of our muddling tools can now generate
   non-executable boilerplate code from random 
   squiggles at a rate of 20 lines per second

   (our integrated productivity metric analyser rates
   that as promotion material)
   - the generated code is inherently protected against
   analysis, modification, or composition; source
   code compression tools are available as extensions

   you do not need to look into haskell
   - as a penance, buy two compilers, a revision control 
   system and a window manager


   there is no need to be alarmed
   - there will always be jobs for pascal programmers
(sorry, that should have been cobol; or was that c?
c++? perl? java? .. anyway, you know you're safe)

3. secret cult approach

   haskell: archaic, see also: programming language
   alegedly used by vorlon before they started
   tying knots in real time (cf b4).

   when informed that 99,9% of human programmers
   did not even want to look at the language, the vorlon 
   ambassador replied: good.


4. reach for the moon approach

   do not ask what haskell can do for you,
   ask what you can do for haskell.

..
interactive:1:0:
   No instance for (Enum Slogan)
 arising from the arithmetic sequence `1.2.3.4. .. '
 at interactive:1:0-6
   Possible fix: add an instance declaration for (Enum Slogan)
   In the expression: [1.2.3.4. .. ]
   In the definition of `it': it = [1.2.3.4. .. ]


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Bernie Pope


On 08/10/2007, at 8:54 PM, Thomas Conway wrote:


I just had a conversation today that seems relevant to this thread. I
was chatting with a friend who is working in the academic sector, and
I was observing that Melbourne Uni (my old school), is switching in
the new year from teaching Haskell as a first language, to teaching
Python. I was dismayed, but not surprised.

Anyway, I was talking about this with my friend said that he
understood the main reason for the change was that students were not
being switched on or excited learning Haskell as they used to be
learning C. He put it down to the fact that in C, you are more
obviously making the computer do stuff, and that Haskell is
sufficiently high level and abstract that beginner programmers don't
get that thrill of feeling like you're making the computer work for
you.

I must say, I get that! but at the same time, of course, the high
level abstraction is exactly what *we* love about Haskell.


Presently, at Melbourne Uni we teach Haskell as a second language  
after C.
In their first year, my class has two and a half semesters of C,  
followed by
half a semester of Haskell. There is a parallel stream, where the  
split between

C and Haskell is 50-50 (the so-called advanced stream).

My general feeling is that students are responding well to Haskell,  
and it

is a welcome break from segfault-land. However, it is hard for them to
evaluate the merits of pure functional programming, when they've seen
so little of the alternatives. We get the occasional early convert, but
most of the students remain sceptical (and rightly so, I think).  
Also, first

year students spend all their time concentrating on programming in
the small, which means that they don't see _as much_ benefit from the
kinds of abstraction that Haskell offers over C.

In my opinion, the move to Python is motivated by other concerns,  
which come

about because the undergraduate program is going through a radical
change across the whole university. There is a corresponding shift in  
our

first-year demographic, which motivates a change in the focus of
the first year program.

I'm not so concerned about losing Haskell in the first year  
(especially to Python).
Personally, I would like to see functional/declarative programming  
gain more
prominence later in the curriculum - at the point where students are  
at a
higher level of programming sophistication, and are more likely to  
appreciate

the material.

I have spent a reasonable amount of time extolling the virtues of  
functional
programming to first year students over the years. The one thing  
which seems
to get the best response, and makes them sit up and listen, is when I  
tell them

that GHC is maintained largely by people who work at MS research!

Cheers,
Bernie.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-08 Thread Manuel M T Chakravarty

Don Stewart wrote,

catamorphism:

On 10/4/07, Don Stewart [EMAIL PROTECTED] wrote:

It was raised at CUFP today that while Python has:

Python is a dynamic object-oriented programming language that can be
used for many kinds of software development. It offers strong
support for integration with other languages and tools, comes with
extensive standard libraries, and can be learned in a few days. Many
Python programmers report substantial productivity gains and feel
the language encourages the development of higher quality, more
maintainable code.

With the links from the start about using Python for various purposes,
along with reassuring text about licenses and so on.

Note its all about how it can help you.

The Haskell website has the rather strange motivational text:

Haskell is a general purpose, purely functional programming language
featuring static typing, higher order functions, polymorphism, type
classes, and monadic effects. Haskell compilers are freely available
for almost any computer.

Which doesn't say why these help you.

Any suggestions on a 2 or 3 sentence spiel about what's available?

Here's some quick points:

General purpose: applications from OS kernels to compilers to web dev to ...
Strong integration with other languages: FFI, and FFI binding tools
Many developer tools: debugger, profiler, code coverage, QuickCheck
Extensive libraries: central library repository, central repo hosting
Productivity, robustness, maintainability: purity, type system, etc
Parallelism!


Can't we embrace the power of 'and'? It's wonderful that Haskell is
seeing more practical use, but we shouldn't forget the foundations,
either. Maybe we should put your second description first, and *then*
have a paragraph saying, and, for those who know what these are,
polymorphism, monadic effects, etc.? Only describing Haskell in terms
of software engineeering doesn't seem right to me.


Yes, I think that's the best step. Combine both why you'd use it, with
what unique features enable this. 


I also agree that this is the right way to go.

FWIW, the CUFP talk that started this discussion took the current 
text out of context.  It is one thing to have the fp-speak 
description of Haskell in isolation (as in the CUFP talk) and 
another to have it on the wiki front-page, where the side bar 
advertises libraries, applications, etc. and the middle has news 
items and so forth.


Manuel
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-06 Thread Don Stewart
bf3:
 For me, a good reason why one should look at Haskell is because you 
 should NOT look at Haskell since it will change your view on programming 
 so much, you don't want to go back... ;-)
 
 But where is the great IDE Haskell deserves??? :-) Seriously, 99% of the 
 programmers I know don't want to look at it because when they see Emacs 
 or VIM, they say what the f*ck, I don't want to go back to the 
 stone age. If you want to attract more people that are inside the 
 imperative-OO-with-nice-IDE-blob, create a great looking and 
 functional IDE. An IDE that integrates the existing tools. That shows 
 you graphical pictures of the graph rewriting process, potential space 
 leaks, profiling bottlenecks, etc. Heck, why not introduce pictures as 
 symbols and values, as in DrScheme. Or UNICODE fonts. or or ... Okay, 
 enough of that, off topic ;-)

It has been suggested we could just sit DrScheme in front of ghc/ghci.
Anyone with experience who'd like to step up for this?

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-06 Thread Martin DeMello
On 10/5/07, Don Stewart [EMAIL PROTECTED] wrote:

 It has been suggested we could just sit DrScheme in front of ghc/ghci.
 Anyone with experience who'd like to step up for this?

Note that there's a DrOCaml, which might be a good starting point.

martin
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Albert Y. C. Lai

Don Stewart wrote:

It was raised at CUFP today that while Python has:

Python is a dynamic object-oriented programming language that can be
used for many kinds of software development. It offers strong
support for integration with other languages and tools, comes with
extensive standard libraries, and can be learned in a few days. Many
Python programmers report substantial productivity gains and feel
the language encourages the development of higher quality, more
maintainable code.

With the links from the start about using Python for various purposes,
along with reassuring text about licenses and so on. 


Note its all about how it can help you.


Many people invent and promote new programming languages because it is 
thought that they will improve productivity, reliability, 
maintainability, extensibility, evolvability, readability, writability, 
XXXivity, YYYbility, ...


Call me a skeptic, cynical, ivory-tower, completely detached, 
you-need-to-get-out-more academic, but since almost every programming 
language inventor gets to make such claims, or at least state such aims, 
they are bordering on becoming meaningless commercial buzzwords, like 
every company says and lies about customers are number one! Even if 
the claims are true, they are non-sequiturs because they're what 
programming languages are supposed to be! (Executability is very 
important too; are you going to emphasize it?) And are the claims ever 
true? I'm sure they're noble aims, but if anyone claims any of them is 
achieved, such as the Python statement claims productivity gains, I'll 
ask the Greg Wilson question: where is your data? And I'll add my own: 
do you just poll feelings or do you actually measure objective 
deliverables?


Granted, perhaps your perspective is, if every other company is shouting 
customers are number one, then ours must too, and who actually lives 
up to it is the non-sequitur here. You're in the buzzword war, not the 
evidence war. OK, then make sure you include executability, as the 
Python guys in their infinite wisdom have forgotten that one. You'll 
trump them on that point, ha!


My point is, you want to say, this language is about you. OK, that 
sounds right about customers are number one, and we pretty know what 
that's about. If it's supposed to be false anyway, fine, you're saying 
it for a reason, so just copy every other company's silly buzzwords and 
throw in more silly buzzwords that even other companies have forgotten 
about. And if it's supposed to be true, do you have proof?


My academic, rational, technical-merit perspective is, we state Haskell 
for what it is. We state it has FFI. We state we have QuickCheck. We 
state it is purely functional, non-strict, monadic. If we suspect 
readers don't know those words, use some other words. Let the readers 
decide what these mean to their software engineering objectives. We 
don't claim software engineering objectives for them; we don't have data 
to prove any. The moment we refrain from unproved claims, we stand out 
from the snake oil salespeople. The moment we cut that it's about you 
crap, the moment we go back to the basics and say this is our offer, 
take your time to consider it, that's when the whole business is truly 
about the readers.


To exemplify, I now analyze the Python statement under my glass:

dynamic object-oriented: Good, informative, I know those words and I 
am the one to decide its implications to me.


can be used for many kinds of software development: Informationless. 
Which major programming language can't be? It's OK to list, instead, in 
a subsequent paragraph a roster of the many kinds allured to.


strong integration, extensive libraries: Good, these are 
distinguishing technical offers, I want to know them.


can be learned in a few days: Though this one isn't backed by studies, 
I won't call it bluff. This one is not a big deal. Unfortunately, 
Haskell is unlikely to be learned in a few days. Fortunately, Haskell is 
likely to revolutionize minds in a few days.


Many Python programmers report substantial ...: Substantial claim it 
is. Snake oil, unless proved otherwise.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Bayley, Alistair
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Don Stewart
 
   It was raised at CUFP today that while Python has:
   ...
   Note its all about how it can help you.
  
   The Haskell website has the rather strange motivational text:
   ...
  
  Can't we embrace the power of 'and'? It's wonderful that Haskell is
  seeing more practical use, but we shouldn't forget the foundations,
  either. Maybe we should put your second description first, 
 and *then*
  have a paragraph saying, and, for those who know what these are,
  polymorphism, monadic effects, etc.? Only describing 
 Haskell in terms
  of software engineeering doesn't seem right to me.
 
 Yes, I think that's the best step. Combine both why you'd use it, with
 what unique features enable this. 


Well, wouldn't it be best to define your audience first? At the risk of
alienating Pythonistas...

The Python home page is very much snake oil (as Albert points out). But
it appears that they're aiming squarely at the average gormless
C/C++/VB/Java drone who's heard a bit about some exciting dynamic
language called python. And I think they do a pretty good job at
marketing to this segment: the python.org website is certainly sexier
than haskell.org, and the promotional text is in prime position, *in
bold*.

BTW, the Ruby website ( http://www.ruby-lang.org/en/ ) is quite similar
in promotional style, and has an even sexier design. They're making the
most of the attention ruby-on-rails has generated.

So the question becomes: do you want to attract/seduce this kind of
programmer? Let's assume the answer is yes :-) ... Then what sort of
language should you use in your promotional paragraph? I don't think
polymorphism, monads/monadic effects, higher order functions, and
even type classes should be used. These terms will be universally
unfamiliar to the target audience, and will alienate them. I agree with
Tim that Haskell's sound foundations are great and should be promoted;
but perhaps in woolier language?

Something to bear in mind is that if your reader does know what
higher-order functions, type classes, and monads are, then it is likely
that they already have a good idea of what Haskell is. Preaching to the
converted.

 Only describing Haskell in terms
 of software engineeering doesn't seem right to me.

If you assume the same target audience as above, to me it seems right to
*only* use software engineeering terms, because they're about the only
terms that will be understood.

So here are some points I think we could make, in software engineering
terms:
 - more concise, readable code (like other functional languages, such as
Erlang, Scheme, Lisp)
 - sound theoretical foundation (language is well-defined and logical).
Code with side-effects is separated from purely functional code.
 - more reliable (no pointers, static type checking)
 - static type system superior to Java, C++, and C# - type inference
means it doesn't get in your way (I'd like to say something about how
the type system can reduce the amount of code you have to write through
good design of your data types and classes, but I don't know how...)
 - excellent integration with existing C code via one of the best FFI's
around
 - excellent support for concurrent and parallel programming
(forecasting the impending NDP implementation :-)
 - compilers generate fast code, in the same ballpark as C/C++
 - advanced testing tools like Quickcheck, plus the familiar xUnit clone
 - general purpose: can be used for servers, web-apps, desktop apps,
scripting


Alistair
*
Confidentiality Note: The information contained in this message,
and any attachments, may contain confidential and/or privileged
material. It is intended solely for the person(s) or entity to
which it is addressed. Any review, retransmission, dissemination,
or taking of any action in reliance upon this information by
persons or entities other than the intended recipient(s) is
prohibited. If you received this in error, please contact the
sender and delete the material from any computer.
*
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Henning Thielemann



On 10/4/07, Don Stewart [EMAIL PROTECTED] wrote:

It was raised at CUFP today that while Python has:

Python is a dynamic object-oriented programming language that can be
used for many kinds of software development. It offers strong
support for integration with other languages and tools, comes with
extensive standard libraries, and can be learned in a few days. Many
Python programmers report substantial productivity gains and feel
the language encourages the development of higher quality, more
maintainable code.


I think that this description is very unspecific and I guess everyone 
claims that for his favourite language.




Here's some quick points:

General purpose: applications from OS kernels to compilers to web dev to ...
Strong integration with other languages: FFI, and FFI binding tools
Many developer tools: debugger, profiler, code coverage, QuickCheck
Extensive libraries: central library repository, central repo hosting


Until here people will say: Ah nice, like C++ I use for many years now.



Productivity, robustness, maintainability: purity, type system, etc. 
Parallelism!


'type system' is something where C derivatives and scripting languages are 
weak - but their users count this as advantage. I want to raise the 
question again, whether it is reasonable to move convinced C and Perl 
programmers to Haskell - They will want to write C and Perl style programs 
using Haskell. I think it is better to attract the people who find 
'filter' and 'map' good in Python and want to get to know the original 
language.





On Thu, 4 Oct 2007, Don Stewart wrote:


Yep, its similar to the elevator pitch, but a little shorter, and
mentions why as a programmer this is worth your time.

I'm not sure monadic effects is terribly motivating for someone who's
heard about Haskell, and just wants to get things done faster, and more
reliably -- which is really what Haskell can be about.


My experience is, that 'purely functional' made me curious because I 
wanted a nice, elegant language which is not cluttered with much patches. 
'Monadic effects' sounded strange and made me even more curious.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Henning Thielemann


On Fri, 5 Oct 2007, Albert Y. C. Lai wrote:

Granted, perhaps your perspective is, if every other company is shouting 
customers are number one, then ours must too, and who actually lives up to 
it is the non-sequitur here. You're in the buzzword war, not the evidence 
war. OK, then make sure you include executability, as the Python guys in 
their infinite wisdom have forgotten that one. You'll trump them on that 
point, ha!


me too


To exemplify, I now analyze the Python statement under my glass:

dynamic object-oriented: Good, informative, I know those words and I am the 
one to decide its implications to me.


To be honest - I do not know exactly what is meant with 'dynamic' here. I 
know Python is dynamically typed - is this meant? Or 'dynamic' in the 
sense of 'can alter data at run-time', or 'can run programs' at all?

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Laurent Deniau

Henning Thielemann wrote:


On Fri, 5 Oct 2007, Albert Y. C. Lai wrote:

Granted, perhaps your perspective is, if every other company is 
shouting customers are number one, then ours must too, and who 
actually lives up to it is the non-sequitur here. You're in the 
buzzword war, not the evidence war. OK, then make sure you include
 executability, as the Python guys in their infinite wisdom have 
forgotten that one. You'll trump them on that point, ha!


me too


To exemplify, I now analyze the Python statement under my glass:

dynamic object-oriented: Good, informative, I know those words
and I am the one to decide its implications to me.


To be honest - I do not know exactly what is meant with 'dynamic'
here. I know Python is dynamically typed - is this meant? Or
'dynamic' in the sense of 'can alter data at run-time', or 'can run
programs' at all?


all of that, plus the ability to change the objects' types (hierarchies)
at runtime like in most dynamically typed languages.

a+, ld.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Laurent Deniau

Henning Thielemann wrote:
Productivity, robustness, maintainability: purity, type system, 
etc. Parallelism!


'type system' is something where C derivatives and scripting languages 
are weak - but their users count this as advantage.


Rarely (maybe in the 70's but not since C89). They count as an advantage 
simplicity, portability and efficiency. If you can provide a better type 
system to C while keeping these points, you are welcome. Still, it is 
easy to make your code strongly typed in C with some discipline.


I want to raise the 
question again, whether it is reasonable to move convinced C and Perl 
programmers to Haskell - They will want to write C and Perl style 
programs using Haskell.


Not necessary. I am coming from C/C++ and I use Haskell for what I like 
it, that is functional programming.


I think it is better to attract the people who 
find 'filter' and 'map' good in Python and want to get to know the 
original language.


filter and map exist also in non functional languages. lambda and 
composition are much more uncommon outside the FPL world and much more 
difficult to 'emulate'.



On Thu, 4 Oct 2007, Don Stewart wrote:


Yep, its similar to the elevator pitch, but a little shorter, and
mentions why as a programmer this is worth your time.

I'm not sure monadic effects is terribly motivating for someone who's
heard about Haskell, and just wants to get things done faster, and more
reliably -- which is really what Haskell can be about.


My experience is, that 'purely functional' made me curious because I 
wanted a nice, elegant language which is not cluttered with much 
patches. 'Monadic effects' sounded strange and made me even more curious.


Exactly the same for me but I prefer arrows to monads ;-) BTW, I do not 
understand why Arrow does not have a delay operator which would store 
its input and return its previous input. This would be quite helpful to 
describe signal processing and control system with SF (this question 
came to mind while reading the draft of H.Liu and P.Hudak on space leaks).


What bother me about Haskell is that unfortunately I cannot use it in my 
work (numerical analysis) because of its lack of _efficiency_ and to a 
lesser extend of stability and portability. Despite that I am pretty 
sure that it will be solved in some future.


a+, ld.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Henning Thielemann


On Fri, 5 Oct 2007, Laurent Deniau wrote:


Henning Thielemann wrote:
Productivity, robustness, maintainability: purity, type system, etc. 
Parallelism!


'type system' is something where C derivatives and scripting languages are 
weak - but their users count this as advantage.


Rarely (maybe in the 70's but not since C89). They count as an advantage 
simplicity, portability and efficiency. If you can provide a better type 
system to C while keeping these points, you are welcome. Still, it is easy to 
make your code strongly typed in C with some discipline.


If this would be true, they would have switched to Modula II quickly ... I 
know that C programmers also like the concise/cryptic/inconsistent syntax.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Don Stewart
lemming:
 
 On Fri, 5 Oct 2007, Albert Y. C. Lai wrote:
 
 Granted, perhaps your perspective is, if every other company is shouting 
 customers are number one, then ours must too, and who actually lives up 
 to it is the non-sequitur here. You're in the buzzword war, not the 
 evidence war. OK, then make sure you include executability, as the Python 
 guys in their infinite wisdom have forgotten that one. You'll trump them 
 on that point, ha!
 
 me too
 
 To exemplify, I now analyze the Python statement under my glass:
 
 dynamic object-oriented: Good, informative, I know those words and I am 
 the one to decide its implications to me.
 
 To be honest - I do not know exactly what is meant with 'dynamic' here. I 
 know Python is dynamically typed - is this meant? Or 'dynamic' in the 
 sense of 'can alter data at run-time', or 'can run programs' at all?

'dynamic' as in 'agile' and 'cool' :)

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] New slogan for haskell.org

2007-10-05 Thread Laurent Deniau

Henning Thielemann wrote:


On Fri, 5 Oct 2007, Laurent Deniau wrote:


Henning Thielemann wrote:
Productivity, robustness, maintainability: purity, type 
system, etc. Parallelism!


'type system' is something where C derivatives and scripting 
languages are weak - but their users count this as advantage.


Rarely (maybe in the 70's but not since C89). They count as an 
advantage simplicity, portability and efficiency. If you can provide a 
better type system to C while keeping these points, you are welcome. 
Still, it is easy to make your code strongly typed in C with some 
discipline.


If this would be true,


it is true and a good practice.

they would have switched to Modula II quickly ... 


Everybody is free to move from one language to another but Ada could be 
a more attractive target.


I know that C programmers also like the concise/cryptic/inconsistent 
syntax.


Syntax is often a matter of taste. Every languages look cryptic for 
unfamiliar people. Haskell has itself some conventions in notation which 
allows concise coding. Do you have an example of syntax inconsistency in C?


regards,

ld.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


  1   2   >