Re: [Haskell-cafe] New slogan for haskell.org
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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