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

2007-12-15 Thread apfelmus

Henning Thielemann wrote:

apfelmus wrote:


gwern wrote:

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.


Hey, why has the front-page already been changed then? I don't like
neither this nor the new slogan.


Edit war!


Yarr, bring up the guns! Y-rifle, fire!

http://ellemose.dina.kvl.dk/cgi-bin/sestoft/lamreduce?action=normalizeexpression=%5Clamb.%28%5Cx.%5Cf.f%28x+x+f%29%29+%28%5Cx.%5Cf.f%28x+x+f%29%29+%28%5Cf.%5Cda.f%29evalorder=normal+order

Goodstein gun, fire!

import Data.Tree

type Number = Forest Integer

zero = []; one = [Node 1 zero]; two = [Node 1 one]  -- (shortened) 
hereditary
three = one++two; four = [Node 1 two]   -- base 2 
representation


subtractOne p (Node 1 []:xs) = xs
subtractOne p (Node a []:xs) = Node (a-1) []:xs
subtractOne p (Node 1 k :xs) = let k' = subtractOne p k in
   subtractOne p [Node 1 k'] ++ Node 
(p-1) k':xs
subtractOne p (Node a k :xs) = subtractOne p [Node 1 k ] ++ Node 
(a-1) k :xs


goodstein !p n = if null n then [] else n:goodstein (p+1) 
(subtractOne (p+1) n)

goodsteingun n = concat $ lamb:map (const da) (goodstein 2 n)

  goodsteingun three
 lambdadadadadada
  goodsteingun four
 lambdadadadadadadadadadadadadadadadadadadadadada[...]

Will it ever cease?


Regards,
apfelmus




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


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

2007-12-12 Thread apfelmus

gwern wrote:

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.


Hey, why has the front-page already been changed then? I don't like 
neither this nor the new slogan.



Concerning what slogan should be on the front page, I prefer technical 
terms to buzzwords.


  myReadText = filter (not . buzzword)

In any case: it's not our task to convince others by means of an 
enterprisey formulation, people are free to choose. If they don't want 
it, so be it. We provide data points (I have written a big but robust 
program, it's called insert name here, We have a FFI and its use is 
explained here, look, this quicksort function is so beautiful) but 
judgment is what everybody has to do for himself.



Regards,
apfelmus

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


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

2007-12-12 Thread Henning Thielemann

On Wed, 12 Dec 2007, apfelmus wrote:

 gwern wrote:
  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.

 Hey, why has the front-page already been changed then? I don't like
 neither this nor the new slogan.

Edit war!

 In any case: it's not our task to convince others by means of an
 enterprisey formulation, people are free to choose. If they don't want
 it, so be it. We provide data points (I have written a big but robust
 program, it's called insert name here, We have a FFI and its use is
 explained here, look, this quicksort function is so beautiful) but
 judgment is what everybody has to do for himself.

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


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

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

Combinators get my code done, tralalalala, laughing out loud!
Quickcheck locates all of my bugs, tralalalala, laughing out loud!
Fusion laws make my code run fast, tralala, lalala, lololol!
Folks, I'm so done, Merry Christmas, tralalalala, laughing out loud!
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-12-03 Thread apfelmus

Stefan O'Rear wrote:


In my C programming, I've taken to using gdb as a REPL:


Ah, that's a nice trick, thanks!

I wish I there had been a gdb on MacOS 8.5 back then ;)


Regards,
apfelmus

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


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

2007-11-30 Thread Ketil Malde
Yitzchak Gale [EMAIL PROTECTED] writes:

 Guido is clearly not rejecting functional influences
 on Python, he is supporting them. But he feels that
 these specific instances do not fit in.

I read some of his statements, and find that I disagree vehemently.
But I wonder if partial evaluation is contributint to this?

GvR thinks list comprehensions are better than map or filter, and 
wants nested functions instead of lambda.  So where I like to write

  filter odd
or(\xs - (filter odd xs, filter even xs))

he would prefer

  let filter_odd xs = [ x | x - xs, odd x ] in filter_odd

and   let map_even_odd xs =  
  let filter_odd ys = [ y | y - ys, odd y ]
  filter_even ys = [ y | y - ys, even y ]
  in (filter odd xs, filter even xs)
  in map_even_odd

I hope I'm not misrepresenting the Python way here, but it feels
incredibly clunky.  Maybe it looks better in Python?

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

2007-11-30 Thread Johan Tibell
  I really like the friendly look of Ruby's homepage:
 
  http://www.ruby-lang.org/en/
 
  * There's an interpreter download button in a high visibility position.
  * Visible news.
  * It's pretty!
  * A very short introduction. Ruby is...

 ... which is so generic, that we can copy it to the Haskell home page
 without modification.

I didn't say I wanted the text. I just like the layout (and the pretty
pixels.) :)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-30 Thread Henning Thielemann

On Fri, 30 Nov 2007, Johan Tibell wrote:

 On Nov 30, 2007 1:30 AM, Ivan Miljenovic [EMAIL PROTECTED] wrote:
  Speaking of Stackless Python, its homepage (http://www.stackless.com/)
  has a rather nice layout... maybe slightly less emphasis on the About
  section, but there you've got the links, the info and the news all on
  the one page.

 I really like the friendly look of Ruby's homepage:

 http://www.ruby-lang.org/en/

 * There's an interpreter download button in a high visibility position.
 * Visible news.
 * It's pretty!
 * A very short introduction. Ruby is...

... which is so generic, that we can copy it to the Haskell home page
without modification.

 * The most important links (documentation, libraries, community, etc.)
 are available to the right. I like the fact that there are no
 subcategories at this point.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-30 Thread Mirko Rahn


The Haskell code works with arbitrary precision 
Integer, the C code with a fixed size int.


This is also a work for a library (BTW like Haskell does), you can use 
gmp or mpfr. This will just add one line to store x/2 in y and avoid its 
recomputation. You will also have to switch from intset to set. And 
there one can start to see the difference. The code refactoring will be 
longer since C doesn't support parametric polymorphism nor operator 
overloading.


Yes, Haskell is just great, so many things are hard-wired. Even if you 
use arbitrary precision Integer and appropriate set implementations, 
there is still no infinite, lazy list that avoids recomputation... I 
guess your C code either uses some non-standard includes or does not fit 
on a single page anymore.


Just for the record: Using a 64-bit machine (1.5GHz Itanium2) and a well 
scaling intset (Judy1), (something like) your C code calculates:


* within 1GB and in about 25 mins:
a_{892163852} = 11314755057
max seen so far:
a_{846081651} = 770163004735488 (50 bit)

* and within 32GB and in about 22 hours:
a_{28515445370} = 165480993670
max seen so far:
a_{25880571766} = 32905425960566784 (55 bit)

I guess that a Haskell program that verifies these values will depend on 
an external intset implementation. Or uses another data structure, for 
example some Set_of_Intervals...


/BR, Mirko Rahn

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


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

2007-11-30 Thread Johan Tibell
On Nov 30, 2007 1:30 AM, Ivan Miljenovic [EMAIL PROTECTED] wrote:
 Speaking of Stackless Python, its homepage (http://www.stackless.com/)
 has a rather nice layout... maybe slightly less emphasis on the About
 section, but there you've got the links, the info and the news all on
 the one page.

I really like the friendly look of Ruby's homepage:

http://www.ruby-lang.org/en/

* There's an interpreter download button in a high visibility position.
* Visible news.
* It's pretty!
* A very short introduction. Ruby is...
* The most important links (documentation, libraries, community, etc.)
are available to the right. I like the fact that there are no
subcategories at this point.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-29 Thread apfelmus

Laurent Deniau wrote:

apfelmus wrote:

Back then, I was given the task to calculate some sequence
of numbers which I did in one page of C code.

import Data.Set

xs = let f x m = x: let y = x `div` 2
in f (if member y m then 3*x else y) (insert x m)
 in f 1 (singleton 0)


As said, it's two lines if the terminal is too small :)


I can't see how it could be one page of C unless the page is 10 lines 
long ;-) The following code is the direct translation of your Haskell 
code (except that it prints the result instead of building a list).


a+, ld.

#include stdio.h
#include intset.h

void f(int x, intset s) {
  printf(%d, , x);
  f (intset_elem(s, x/2) ? 3*x : x/2, intset_put(s, x));
}

int main(void) {
  f (1, intset_put(intset_new(), 0));
}


Well, I only remember that it took _me_ a page of C code :D Basically 
due to a hand-coded intset and user interaction (no REPL for C, after all).



Regards,
apfelmus

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


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

2007-11-29 Thread Mirko Rahn



The following code is the direct translation of your Haskell code



void f(int x, intset s) {
  printf(%d, , x);
  f (intset_elem(s, x/2) ? 3*x : x/2, intset_put(s, x));
}


No, not that easy. The Haskell code works with arbitrary precision 
Integer, the C code with a fixed size int. On a 32 bit machine, try to 
calculate a_{1805133}, which equals to 19591041024. Or a_{8392780} = 
26665583616. Or a_{850} = 10804333. These values are calculated with 
the Haskell program in 370s and ~1GB memory usage.


Fair enough, on the same machine a C program (*two* pages long) was able 
to calculate a_{23448481} = 594261577728 and a_{2500} = 192365946 in 
50s and ~1GB memory usage.


/BR, Mirko Rahn

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


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

2007-11-29 Thread jerzy . karczmarczuk
Simon Marlow writes: 



Perhaps 

Type Inference: deduces types automatically, so you don't have to clutter 
up your code with type declarations.  You can still write type 
declarations for documentation purposes, and these will be automatically 
checked by the compiler.


Perhaps it won't harm adding that manual signatures are useful semantically
as well, for the disambiguation. 



What I'd *really* like to see is a bunch of links on the front page 
leading to pages that describe the main differences between Haskell and 
some other language (C, Python, Java, C#, F#, ...).


... and, perhaps, playing not only with the pedagogy by contrast, but
also by similarities, to mention Clean. 

Jerzy Karczmarczuk 



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


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

2007-11-29 Thread Laurent Deniau

Mirko Rahn wrote:



The following code is the direct translation of your Haskell code



void f(int x, intset s) {
  printf(%d, , x);
  f (intset_elem(s, x/2) ? 3*x : x/2, intset_put(s, x));
}


No, not that easy. The Haskell code works with arbitrary precision 
Integer, the C code with a fixed size int. On a 32 bit machine, try to 
calculate a_{1805133}, which equals to 19591041024. Or a_{8392780} = 
26665583616. Or a_{850} = 10804333. These values are calculated with 
the Haskell program in 370s and ~1GB memory usage.


This is also a work for a library (BTW like Haskell does), you can use 
gmp or mpfr. This will just add one line to store x/2 in y and avoid its 
recomputation. You will also have to switch from intset to set. And 
there one can start to see the difference. The code refactoring will be 
longer since C doesn't support parametric polymorphism nor operator 
overloading.


Fair enough, on the same machine a C program (*two* pages long) was able 
to calculate a_{23448481} = 594261577728 and a_{2500} = 192365946 in 
50s and ~1GB memory usage.


;-)

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


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

2007-11-29 Thread Ian Lynagh
On Thu, Nov 29, 2007 at 12:40:00PM +, Simon Marlow wrote:
 
 What I'd *really* like to see is a bunch of links on the front page leading 
 to pages that describe the main differences between Haskell and some other 
 language (C, Python, Java, C#, F#, ...).  The easiest way to grasp what 
 Haskell is all about is by reference to a known baseline, and programmers 
 tend to have different baselines.  e.g. the C page might start with 
 Haskell is a functional language, whereas the Python page might start 
 with Haskell is statically typed.

As well as

I am a $language programmer. linkWhy should I use Haskell?/link

perhaps also things like

I'm designing a programming course for undergraduates at a
university. linkWhy should I use Haskell?/link

I run a small company. linkWhy should my developers use
Haskell?/link

(but probably all with better wordings)


Thanks
Ian

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


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

2007-11-29 Thread Henning Thielemann

On Thu, 29 Nov 2007, Simon Marlow wrote:

 What I'd *really* like to see is a bunch of links on the front page leading
 to pages that describe the main differences between Haskell and some other
 language (C, Python, Java, C#, F#, ...).  The easiest way to grasp what
 Haskell is all about is by reference to a known baseline, and programmers
 tend to have different baselines.  e.g. the C page might start with
 Haskell is a functional language, whereas the Python page might start
 with Haskell is statically typed.

Python page could start with: You like 'map', 'filter', 'for x in ...'
and lambda's in Python? Then you will like to learn where Python has
borrowed these features.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-29 Thread jerzy . karczmarczuk
Henning Thielemann writes: 


Python page could start with: You like 'map', 'filter', 'for x in ...'
and lambda's in Python? Then you will like to learn where Python has


Henning, Python *may not* start in such a way. Those functionals are
being obsoletised by Guido Van Rossum. for remains, obviously, but,
please, don't try to convince anybody that Haskell was the first language
with iterators... 

Jerzy Karczmarczuk 



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


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

2007-11-29 Thread Andrew Coppin

Henning Thielemann wrote:

When I want to judge a programming language I like to see a gallery, a
collection of beautiful programs. This shows me
 1. what are the problems, the language developers want to tackle
(does general purpose for the developers mean web, XML and data base
processing or computationally intensive numerical stuff)
 2. how do they solve them, i.e. what are the special features of the
language and how do they help solving the problem, what style of
programming does the language support.
  


Well-said that man...

Now, the question becomes what examples demonstrate the things that 
Haskell is good at?


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


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

2007-11-29 Thread Yitzchak Gale
lemming wrote:
 Python page could start with: You like 'map', 'filter', 'for x in ...'
 and lambda's in Python? Then you will like to learn where Python has

What about iterators - lazy lists - and generators - lazy
function definitions. And list comprehensions, both lazy
and strict. And zip. And the itertools module - containing
analogues for lazy ++, [n..], cycle, dropWhile, groupBy, zipWith,
takeWhile, etc. All inspired by Haskell.

Jerzy Karczmarczuk wrote:
 Henning, Python *may not* start in such a way. Those functionals are
 being obsoletised by Guido Van Rossum. for remains,

All of them are remaining. Guido's effort to deprecate
them brought down a storm of protest. Folds, known as reduce
in Python, are on their way out, though. They scared
people (not Pythonic).

 please, don't try to convince anybody that Haskell was the first language
 with iterators...

Python's iterators are not the same as iterators in C
and other older languages. They are lazy lists. The reason
they named them iterators is not to scare people.

Haskell was not the first to have lazy lists, but Haskell
was an important part of the inspiration for introducing
them into Python.

Guido was forced to do something - someone had written
a new Python interpreter, called Stackless Python,
in which every Python function was a Scheme-like continuation.
People found this very, very scary. So Guido stopped
it by introducing laziness, which could be made much
less scary.

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


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

2007-11-29 Thread jerzy . karczmarczuk
Yitzchak Gale writes: 


Python's iterators are not the same as iterators in C
and other older languages. They are lazy lists. The reason
they named them iterators is not to scare people. 


Haskell was not the first to have lazy lists, but Haskell
was an important part of the inspiration for introducing
them into Python.


Actually, I would *sincerely* like to see some reference proving that. 


I cite Guido V.R., 2005:
About 12 years ago, Python aquired lambda, reduce(), filter() and
 map(), courtesy of (I believe) a Lisp hacker who missed them and
 submitted working patches.
(http://www.artima.com/weblogs/viewpost.jsp?thread=98196) 


Give to Caesar...: It was Amrit Prem; one history page on WP says that
no specific mention of any Lisp heritage is mentioned in the release
notes at the time, so all speculations are still possible... 

++ 


But, in fact, Python iterators - in general - are neither lazy nor lists.
No linking!
They are syntactic shortcuts to *objects* possessing the method 'next'.
So, there is no call by need, no updated thunks, etc. Calling them lazy
is an abuse of the language, although quite intuitive. I don't want to raise
a war about that... 


The laziness, meant as deferred procedure calls *CAN* be used in Python,
also in iterator context, through generators, that's true. But still there
are no update'able automatically thunks, no lazy data! If generators remind
me of something, it is co-routines. 


BTW. The BDFL Van Rossum never said anything about scaring. He said
plainly that folds are things he *hates* most. 




Guido was forced to do something - someone had written
a new Python interpreter, called Stackless Python,
in which every Python function was a Scheme-like continuation.
People found this very, very scary. So Guido stopped
it by introducing laziness, which could be made much
less scary.


Give to Caesar...
Someone, was Christian Tismer: 

http://www.python.org/workshops/2000-01/proceedings/papers/tismers/spcpaper. 
htm 

and I am doubtful about the statement that people found it very, very scary. 
Simply they - usually - felt no *need* for another complication to learn,

you know, *some* people are lazy... But Stackless still exists, GVR
stopped nothing, and the Grant Olson's tutorial 

http://members.verizon.net/olsongt/stackless/why_stackless.html 

is really interesting, although perhaps, as usual, not for Andrew Coppin. 


People, stop using this damned word: scare in the context of *learning*
something! 

Jerzy Karczmarczuk 



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


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

2007-11-29 Thread Stefan O'Rear
On Thu, Nov 29, 2007 at 09:48:22AM +0100, apfelmus wrote:
 Well, I only remember that it took _me_ a page of C code :D Basically due 
 to a hand-coded intset and user interaction (no REPL for C, after all).

In my C programming, I've taken to using gdb as a REPL:

[EMAIL PROTECTED]:/tmp$ vi foo.c
[EMAIL PROTECTED]:/tmp$ cat foo.c
int foo(int x) {
return x * x;
}

int main(){}
[EMAIL PROTECTED]:/tmp$ gcc foo.c
[EMAIL PROTECTED]:/tmp$ gdb -q ./a.out
Using host libthread_db library
/lib/i686/cmov/libthread_db.so.1.
(gdb) b main
Breakpoint 1 at 0x804835e
(gdb) run
Starting program: /tmp/a.out 
Failed to read a valid object file image from memory.

Breakpoint 1, 0x0804835e in main ()
(gdb) p foo(2)
$1 = 4
(gdb) p foo(10)
$2 = 100
(gdb) p foo(-1)
$3 = 1
(gdb) p foo(0)
$4 = 0
(gdb) p foo(2)+foo(4)
$5 = 20
(gdb) quit
The program is running.  Exit anyway? (y or n) y
[EMAIL PROTECTED]:/tmp$

Makes most debugging tasks much easier.

Stefan


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


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

2007-11-29 Thread Stefan O'Rear
On Thu, Nov 29, 2007 at 12:40:00PM +, Simon Marlow wrote:
 What I'd *really* like to see is a bunch of links on the front page leading 
 to pages that describe the main differences between Haskell and some other 
 language (C, Python, Java, C#, F#, ...).  The easiest way to grasp what 
 Haskell is all about is by reference to a known baseline, and programmers 
 tend to have different baselines.  e.g. the C page might start with 
 Haskell is a functional language, whereas the Python page might start 
 with Haskell is statically typed.  I guess this is similar to Ian's 
 suggestion.

+1

Stefan


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


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

2007-11-29 Thread Brandon S. Allbery KF8NH


On Nov 29, 2007, at 16:57 , [EMAIL PROTECTED] wrote:


Yitzchak Gale writes:

Guido was forced to do something - someone had written
a new Python interpreter, called Stackless Python,
in which every Python function was a Scheme-like continuation.
People found this very, very scary. So Guido stopped
it by introducing laziness, which could be made much
less scary.


Give to Caesar...
Someone, was Christian Tismer:
http://www.python.org/workshops/2000-01/proceedings/papers/tismers/ 
spcpaper. htm
and I am doubtful about the statement that people found it very,  
very scary. Simply they - usually - felt no


The only person I've ever heard of who was in any sense scared of  
Stackless Python was GvR himself.


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

2007-11-29 Thread Evan Laforge
  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.

 I agree with this.  Perhaps

 Type Inference: deduces types automatically, so you don't have to clutter
 up your code with type declarations.  You can still write type declarations
 for documentation purposes, and these will be automatically checked by the
 compiler.

I also write top-level signatures usually, but inference is still
really nice inside the function.  Things like let x = f y in ... + g
x + ... don't make you declare the type of 'x' and change the
declaration if 'f' changes return type.  You just have to change 'g',
not everyone in between 'f' and 'g'.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-29 Thread Ben Franksen
Thomas Davie wrote:
 There's no such check list of good stuff with the Haskell slogan,
 instead, we've got a list of buzzwords, as bad as company webpages
 preaching that they offer synergised solutions, but not actually
 telling anyone what they do.

I couldn't disagree more.

The words used in the 'Haskell slogan' may be technical jargon; however as
such they have a precisely defined meaning and actually characterize the
language fine. This is exactly the opposite of 'buzzwords', which usually
lack a clear and unambiguous definition (but are loved by marketing
people).

Cheers
Ben

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


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

2007-11-29 Thread Ivan Miljenovic
Speaking of Stackless Python, its homepage (http://www.stackless.com/)
has a rather nice layout... maybe slightly less emphasis on the About
section, but there you've got the links, the info and the news all on
the one page.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-29 Thread jerzy . karczmarczuk
Yitzchak Gale writes: 


Haskell was not the first to have lazy lists, but Haskell
was an important part of the inspiration for introducing
them into Python.


Jerzy Karczmarczuk wrote:

Actually, I would *sincerely* like to see some reference proving that.


The Python Library Reference, itertools (section 6.5 in Python 2.5):
This module implements a number of iterator building blocks inspired
by constructs from the Haskell and SML programming languages.
Each has been recast in a form suitable for Python.


Yitz, we will not quarrel, after all, we belong to the same Haskell
mafia, but don't forget that itertools have been introduced in the
version 2.3! It contained 'cycle', 'chain', 'dropwhile', etc. Here,
I willingly sacrifice a cow to Haskell gods. But we were speaking about
map and filter, and this is 1994... So, perhaps some concrete references
- if given - should be tested against the historical truth.
[Ohhh, my goodness... I realize that I am getting really old...] 


...

Give to Caesar...: It was Amrit Prem; one history page on WP says that
no specific mention of any Lisp heritage is mentioned in the release
notes at the time, so all speculations are still possible...


OK. (That is a quote from Wikipedia, yes?)


Yes. Partly. Indirectly. All speculations is mine. My source was here: 

http://www.python.org/search/hypermail/python-1994q2/0143.html 


Look, I am not arguing that this pseudo-laziness
is a central feature of Python, ... So I agree with others
who wrote that pointing out beautiful
Haskell-inspired or Haskell-like features in
a person's current favorite language might be
a good way to encourage that person to have a look
at Haskell.


That is perfectly alright, and I assure you that I did my best to
popularize the language in my local environment. However... 


There *IS* one danger with hypes. Several people deeply buried within
other programming niches, accuse in permanence the Functionalists of
being sectarian. I think that we should be modest and simple. Haskell
is as any other language. Just a *very good* language. As such, it
inspired others, and also, I think, it was inspired by others. Don't
underline the uniqueness of the language. Notice that thanks to
Haskell the DrScheme has now a lazy module. (Unless Eli Barzilay denies
it...) But that laziness can be found in Snobol unevaluated expressions
and Icon co-expressions, and these preceded Haskell. (Although I doubt
that they influenced Haskell...) Nevertheless I think that it
is psychologically convenient to underline that potential new users will
find *many* familiar, or at least venerable concepts, only represented
differently. 

All the best. 

Jerzy Karczmarczuk 



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


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

2007-11-28 Thread Laurent Deniau

apfelmus wrote:

Henning Thielemann wrote:

apfelmus wrote:


Back then, I was given the task to calculate some sequence
of numbers which I did in one page of C code. So far so good, but when I
asked the task assigner about his solution, he responded: Ah, this
problem, that's 1 line in Haskell. Well, 2 lines if the terminal is too
small.


Ah, a Haskell code contribution to the Encyclopedia of Integer Sequences?


The task was just for fun, but it's sequence A05.


import Data.Set

xs = let f x m = x: let y = x `div` 2
in f (if member y m then 3*x else y) (insert x m)
 in f 1 (singleton 0)


As said, it's two lines if the terminal is too small :)


I can't see how it could be one page of C unless the page is 10 lines 
long ;-) The following code is the direct translation of your Haskell 
code (except that it prints the result instead of building a list).


a+, ld.

#include stdio.h
#include intset.h

void f(int x, intset s) {
  printf(%d, , x);
  f (intset_elem(s, x/2) ? 3*x : x/2, intset_put(s, x));
}

int main(void) {
  f (1, intset_put(intset_new(), 0));
}

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


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

2007-11-28 Thread Juanma Barranquero
On Nov 28, 2007 6:16 PM, Laurent Deniau [EMAIL PROTECTED] wrote:

 I can't see how it could be one page of C unless the page is 10 lines
 long ;-) The following code is the direct translation of your Haskell
 code (except that it prints the result instead of building a list).

 a+, ld.

 #include stdio.h
 #include intset.h

Which C standard defines intset.h?

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


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

2007-11-28 Thread Henning Thielemann

On Thu, 29 Nov 2007, Ben Franksen wrote:

 Thomas Schilling wrote:
  I put up a draft page.  Feel free to adjust it.
 
http://haskell.org/haskellwiki/FrontpageDraft

 I like the current version better. It is /very/ difficult to pack in such a
 short paragraph a list of the most important concepts /and/ advertising
 about how useful all this is.

 Rather than an advertising front page paragraph, I'd like to have a good
 introductory page. It should mention all the distinguishing features of
 Haskell, give a short explanation of the concepts with pointers (links) to
 more detailed texts (preferably on the wiki), and then go on to give the
 reader some idea about how and why this is all practically useful, maybe
 using one or two examples.


+1



When I want to judge a programming language I like to see a gallery, a
collection of beautiful programs. This shows me
 1. what are the problems, the language developers want to tackle
(does general purpose for the developers mean web, XML and data base
processing or computationally intensive numerical stuff)
 2. how do they solve them, i.e. what are the special features of the
language and how do they help solving the problem, what style of
programming does the language support.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-27 Thread apfelmus

David Menendez wrote:

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,



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.


Agreed! I hate marketing! The facts can speak for themselves, if you 
need somebody to explain them, then something's wrong.


More specifically, fact means something that you can easily check 
yourself. Robust/maintainable/testable code are things you _can't_ 
easily check yourself without already learning the language.


But shorter code is a fact you can easily check, for instance with 
quicksort as example. In fact, short code is the reason why I picked 
up Haskell. Back then, I was given the task to calculate some sequence 
of numbers which I did in one page of C code. So far so good, but when I 
asked the task assigner about his solution, he responded: Ah, this 
problem, that's 1 line in Haskell. Well, 2 lines if the terminal is too 
small. Such power! Hearing just this was more than enough reason for me 
to learn Haskell and to never look back.



Regards,
apfelmus

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


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

2007-11-27 Thread Henning Thielemann

On Tue, 27 Nov 2007, apfelmus wrote:

 More specifically, fact means something that you can easily check
 yourself. Robust/maintainable/testable code are things you _can't_
 easily check yourself without already learning the language.

+1

 But shorter code is a fact you can easily check, for instance with
 quicksort as example. In fact, short code is the reason why I picked
 up Haskell. Back then, I was given the task to calculate some sequence
 of numbers which I did in one page of C code. So far so good, but when I
 asked the task assigner about his solution, he responded: Ah, this
 problem, that's 1 line in Haskell. Well, 2 lines if the terminal is too
 small.

Ah, a Haskell code contribution to the Encyclopedia of Integer Sequences?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-27 Thread apfelmus

Henning Thielemann wrote:

apfelmus wrote:


Back then, I was given the task to calculate some sequence
of numbers which I did in one page of C code. So far so good, but when I
asked the task assigner about his solution, he responded: Ah, this
problem, that's 1 line in Haskell. Well, 2 lines if the terminal is too
small.


Ah, a Haskell code contribution to the Encyclopedia of Integer Sequences?


The task was just for fun, but it's sequence A05.

  import Data.Set

  xs = let f x m = x:let y = x `div` 2 in f (if member y m then 3*x 
else y) (insert x m) in f 1 (singleton 0)


As said, it's two lines if the terminal is too small :)


Regards,
apfelmus

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


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

2007-11-27 Thread David Fox
On Nov 27, 2007 1:33 PM, apfelmus [EMAIL PROTECTED] wrote:

 David Menendez wrote:
  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,
 
 
  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.

 Agreed! I hate marketing! The facts can speak for themselves, if you
 need somebody to explain them, then something's wrong.

 More specifically, fact means something that you can easily check
 yourself. Robust/maintainable/testable code are things you _can't_
 easily check yourself without already learning the language.

 But shorter code is a fact you can easily check, for instance with
 quicksort as example. In fact, short code is the reason why I picked
 up Haskell. Back then, I was given the task to calculate some sequence
 of numbers which I did in one page of C code. So far so good, but when I
 asked the task assigner about his solution, he responded: Ah, this
 problem, that's 1 line in Haskell. Well, 2 lines if the terminal is too
 small. Such power! Hearing just this was more than enough reason for me
 to learn Haskell and to never look back.


 Regards,
 apfelmus


This is not a reasonable definition of fact.  There are many facts which
are not practical for a person to verify quickly, and many of them are quite
important.  It is perfectly reasonable to seek a consensus of experts on a
subject, and it is perfectly reasonable to present information such as
claims of robustness / maintainability / testability on the assumption that
the person reading it will then take steps to verify the claims, generally
by asking trusted experts.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-11-26 Thread apfelmus

Henning Thielemann wrote:

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.


+1

But we'd probably need the glossary articles first before linking to them :)

Regards,
apfelmus

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


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

2007-11-26 Thread Andrew Coppin

apfelmus wrote:
But we'd probably need the glossary articles first before linking to 
them :)


+12

I added added alpha, beta and eta conversion a while back. (And then 
some kind soul corrected it because half of what I wrote was actually 
*wrong*...) Anybody want to take a stab at all 15 kinds of morphisms? :-}


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


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

2007-11-26 Thread Henning Thielemann

On Mon, 26 Nov 2007, Andrew Coppin wrote:

 apfelmus wrote:
  But we'd probably need the glossary articles first before linking to
  them :)

 +12

 I added added alpha, beta and eta conversion a while back. (And then
 some kind soul corrected it because half of what I wrote was actually
 *wrong*...) Anybody want to take a stab at all 15 kinds of morphisms? :-}

Let's start with polymorphism. :-)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-10-17 Thread Maurí­cio



  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.

I don't think it's so important to promote Haskell
as to promote language diversity. In most
environments, industrial or academic, people
usually have to use one language because it's the
standard language in the place. Once I had to use
Fortran to write code just because teachers in that
university believed Fortran is the best tool for
numeric programming (and we can understand that,
since they were never exposed to anything else).

It would be nice if people understand that it's
better to have one group using C++, other using
Python and other using Haskell than a lot of
people using the same language.

Best,
Maurício

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


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

2007-10-10 Thread Aaron Denney
On 2007-10-10, Andrew Coppin [EMAIL PROTECTED] wrote:
 (Indeed, the number of times my Haskell programs have locked up due to 
 me accidentally writing let x = foo x...)

For me, that's small.  I have seen useful program not lock up
that depend on let x = foo x though.

-- 
Aaron Denney
--

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


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

2007-10-09 Thread Brent Yorgey
On 10/8/07, Alex Tarkovsky [EMAIL PROTECTED] wrote:

 Alex Tarkovsky wrote:
  Brandon S. Allbery KF8NH wrote:
  I can has English?  :)
 
  This comment inspired what could be either the beginning of an
  infectious Haskell recruitment campaign, or just a sign that some of us
  are mad. I present the lambdacats:
 
  http://arcanux.org/lambdacats.html

 The above site is now blogified, with RSS 2.0 feed madness:

 http://arcanux.org/lambdacats-feed.xml


Aren't you going to make one featuring a catamorphism? =)

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


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

2007-10-09 Thread Alex Tarkovsky
Brent Yorgey wrote:
 Aren't you going to make one featuring a catamorphism? =)

Done, thanks for the contribution! ;)

-- 
Alex Tarkovsky

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


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

2007-10-09 Thread Henning Thielemann


On Tue, 9 Oct 2007, Alex Tarkovsky wrote:


Brent Yorgey wrote:

Aren't you going to make one featuring a catamorphism? =)


Done, thanks for the contribution! ;)


I wish concat or concatMap :-)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-10-09 Thread Dougal Stanton
On 09/10/2007, Alex Tarkovsky [EMAIL PROTECTED] wrote:
 Brent Yorgey wrote:
  Aren't you going to make one featuring a catamorphism? =)

 Done, thanks for the contribution! ;)

Goes to look...

...oh, very impressive! ;-) Lolcats seem to have reached a terrifying new nadir.

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


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

2007-10-09 Thread Brent Yorgey
On 10/9/07, Henning Thielemann [EMAIL PROTECTED] wrote:


 On Tue, 9 Oct 2007, Alex Tarkovsky wrote:

  Brent Yorgey wrote:
  Aren't you going to make one featuring a catamorphism? =)
 
  Done, thanks for the contribution! ;)

 I wish concat or concatMap :-)


ask and ye shall receive! =)

http://wso.williams.edu/~byorgey/concatMap.png
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


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

2007-10-09 Thread Brent Yorgey
On 10/9/07, Andrew Coppin [EMAIL PROTECTED] wrote:

 Brent Yorgey wrote:
  On 10/9/07, *Henning Thielemann* [EMAIL PROTECTED]
  mailto:[EMAIL PROTECTED] wrote:
 
 
  I wish concat or concatMap :-)
 
 
  ask and ye shall receive! =)
 
  http://wso.williams.edu/~byorgey/concatMap.png
  http://wso.williams.edu/%7Ebyorgey/concatMap.png

 Where do you guys find so many strange cat pictures?!


well, I don't know where everyone else finds theirs, but I found mine on
flickr.  It turns out that cat owners with cameras are physically unable to
resist uploading pictures of their cats in every imaginable situation.  All
you have to do is type something like 'cat banana' or 'cat map' into the
search field, and voila!

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


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

2007-10-09 Thread Alex Tarkovsky
Andrew Coppin wrote:
 Where do you guys find so many strange cat pictures?!

You don't know any cats or cat owners, do you? ;)

-- 
Alex Tarkovsky

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


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

2007-10-06 Thread Will Thompson
On Sat, Oct 06, 2007 at 01:26:18PM -0500, Alex Tarkovsky wrote:
 ...and the silliness continues:

In which case:

http://pics.livejournal.com/resiak/pic/00019kx6/

Will


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


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

2007-10-06 Thread Alex Tarkovsky
Will Thompson wrote:
 http://pics.livejournal.com/resiak/pic/00019kx6/

Bravo. ;)

And here's what happens when you substitute your cat for GHCi:

http://arcanux.org/lambdacats3.html

-- 
Alex Tarkovsky

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


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

2007-10-05 Thread Jonathan Cast
On Fri, 2007-10-05 at 20:19 +, Aaron Denney wrote:
 On 2007-10-05, Peter Verswyvelen [EMAIL PROTECTED] wrote:
  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.
 
 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.  In fact, I think decreasing the number of those
programmers in existence would be a good way to /increase/ the quantity
and quality of the programs in existence; those are the sorts of
programmers that, if they ever found a new career, we'd have to put
three additional programmers out of a job just to break even.

snip

jcc


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


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

2007-10-05 Thread Aaron Denney
On 2007-10-05, Aaron Denney [EMAIL PROTECTED] wrote:
 On 2007-10-05, Peter Verswyvelen [EMAIL PROTECTED] wrote:
 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.

 Bluntly, I don't see why the Haskell community needs those sorts of
 programmers.  I like Haskell with a big enough community to have useful
 libraries, but a small enough community such that the language can
 readily evolve and serve as a useful research platform.

This is not say that nice tools aren't useful or that we should be less
than welcoming to anyone interested in Haskell.

But the best tool that makes a language more useful is the language
itself.  If I don't have as much boilerplate all over the place, then I
don't need a tool that goes and finds all this boilerplate and changes
it.  When the language manages memory for me, I don't need valgrind.
If I write a program that can't crash, I don't need crash-analysis
tools.  If my programs minimize state-change, I have less need of
traditional debuggers with watchpoints and breakpoints.  If my functions
are guaranteed by the compiler to be pure, /semantic/ debuggers, that
algebraicly manipulate definitions and can iteratively zero in on
meanings being wrong rather than just implementations glitching become
useable.  When I can autogenerate test data for my functions based
solely on the type, testing can be much easier.

We already have a lot of nice tools that do what we want.  Slapping a
GUI on them and maintaining integration while they're evolving is less
useful to me than programmers exploring other additional useful tools.

-- 
Aaron Denney
--

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


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

2007-10-05 Thread Alex Tarkovsky
Brandon S. Allbery KF8NH wrote:
 I can has English?  :)

This comment inspired what could be either the beginning of an
infectious Haskell recruitment campaign, or just a sign that some of us
are mad. I present the lambdacats:

http://arcanux.org/lambdacats.html

-- 
Alex Tarkovsky

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