Re: [Haskell-cafe] Re: System.Random StdGen read fails on some strings? [also continues: Random/StdGen/read: there is something unclear (or misunderstood!)]

2007-03-19 Thread Kirsten Chevalier

On 3/19/07, Simon Peyton-Jones <[EMAIL PROTECTED]> wrote:

Zara

Good point.  It's a bit stupid that 'read' fails utterly on strings shorter 
than 6.

I don't thin StdRandom has an "owner" at the moment.  There's a process for proposing 
library changes, described under "guidelines for developers" here

http://haskell.org/haskellwiki/Libraries_and_tools

That's the way to get your change adopted.


There's already a thread about this on the libraries list:
http://www.haskell.org/pipermail/libraries/2007-March/007052.html
Ian commented with a proposal for fixing it, and no one has followed
up yet. That would probably be a good place to direct any more
discussion.

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


Re: [Haskell-cafe] Random/StdGen/read: there is something unclear (or misunderstood!)

2007-03-13 Thread Kirsten Chevalier

This does seem to be a bug; see:
http://www.haskell.org/pipermail/libraries/2007-March/007034.html
(from a few minutes ago)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"and the things I'm working on are invisible to everyone"--Meg Hutchinson
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskell for Accessibility

2007-03-06 Thread Kirsten Chevalier

On 3/6/07, Tom Hawkins <[EMAIL PROTECTED]> wrote:

I love programming in Haskell, yet even its concise expressions have
not saved my tendons from chronic RSI.  Has anyone put any thought
into building an accessible Haskell development interface for those
who may not be able to use a keyboard?

One inspirational program is Dasher
(http://www.inference.phy.cam.ac.uk/dasher/).  Not only is it godsend
for people with a wide range of disabilities, Dasher is also a lot of
fun to use.



There's also the Harmonia project:
http://harmonia.cs.berkeley.edu/harmonia/index.html
which has the advantage of being a programming-language specific
project. From their web page:
"Harmonia is an open, extensible framework for constructing
interactive, language-aware programming tools. Program source code
is represented by annotated abstract syntax trees augmented with
non-linguistic material such as whitespace and comments. The analysis
engine can support any textual language that has formal syntactic and
semantic specifications. ...New languages can be easily added to
Harmonia by giving the system a syntactic and semantic description,
which is compiled into a dynamically loadable extension for that
language. Among the languages for which descriptions exist are Java,
Cool (a teaching language), XML, Scheme, Cobol, C, and C++. Other
languages are being added to Harmonia as resources permit."

So adding a Haskell module might not be difficult. They also have a
recent paper on voice-recognition-based input for programming
environments.

I haven't actually used Harmonia myself, but I know some of the people
who've been involved, and as a fellow RSI sufferer, I'd also love to
see these tools get wider exposure.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I broke my watch when I put up my calendar / I left my map on the
roof of my car / I need somebody to make it seem worth it / To search
for a light switch or reach for a star" -- Dom Leone
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Recursion

2007-03-06 Thread Kirsten Chevalier

On 3/6/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

Does the following code increase the level of recursion
once for each input line or is the recursive construct
converted to an iteration?



As was pointed out, tail recursion in Haskell isn't straightforward.
The answer may also depend on which implementation of Haskell you're
using. But I assume you mean GHC.

If you want to know for sure, I suggest reading the intermediate code
produced by GHC for this example (or perhaps an even smaller version
of your example that retains the recursive structure but doesn't do
IO). For some help with that, check out the manual's section on "How
to read Core Syntax":
http://www.haskell.org/ghc/docs/latest/html/users_guide/options-debugging.html#id3151366

and ask on this mailing list if you have any questions.

Depending on why you're asking, actually reading the intermediate code
may be overkill, but since you didn't say why you wanted to know, I
assume you're just curious.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Instant gratification takes too long."--Carrie Fisher
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] LGPL libraries

2007-03-05 Thread Kirsten Chevalier

On 3/5/07, Neil Mitchell <[EMAIL PROTECTED]> wrote:


As others have said though, I wouldn't worry overly about it. The
whole concept of static linking being wrong, but dynamic linking being
fine, when you can flip between the modes just by changing compiler,
is just silly. You don't infringe (or uninfringe) copyright with a
command line flag.



I am not a lawyer, but there are a couple of important points getting
missed in this thread:

(1) Few people have ever claimed that copyright law in the United
States made any rational sense. Even so, Americans are subject to it,
anybody who uses GPLed software may be subject to it, and given that
the general trend is toward international treaties that subject their
member nations to the copyright requirements of the nation with the
most restrictive intellectual property laws, it may be safe to say
that everyone is subject to it. "That's just silly" isn't a defense.

(2) To paraphrase Eben Moglen, the legal basis for copyrighting
software in the US is predicated on the notion that certain large
numbers can be copyrighted. Thus, if you can infringe copyright by
adding one to a large number, it suddenly doesn't seem so absurd that
you can infringe copyright by setting a command line flag.

(3) The GPL has never been tested in court, so debates about whether
or not static linking can result in a GPL violation are ultimately
academic, at least insofar as the real question is whether it's
prudent for a company to use GPLed libraries in proprietary software
(as the real question usually is). If someone is asking about GPL
issues in the first place, it's probably because their boss told them
"our lawyers say we're not allowed to use anything GPLed," and thus
"trust me, we're not going to sue you" isn't the answer they're
looking for, even if it's a completely accurate answer.

Since there are people reading this list who release their software
under various flavors of the GPL, and who thus presumably care that
the free software they sweat over will remain free in perpetuity,
hopefully this reply isn't entirely off-topic!

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I haven't got the slightest idea how to change people, but still I keep a long
list of prospective candidates just in case I should ever figure it out."
--David Sedaris
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] MPTCs and rigid variables

2007-03-05 Thread Kirsten Chevalier

On 3/5/07, Simon Peyton-Jones <[EMAIL PROTECTED]> wrote:

4.  The "rigid type variable" thing isn't just an implementation question.  
What *would* you like the error message to say when you write
f :: ([a], Int) -> Int
f (x:xs, y) = x+y
Here we unify 'a' with Int, which is wrong.  What would a nicer error message 
say?



IMO, the "rigid type variable" error message is confusing for two
reasons: (1) it doesn't suggest to the user (or at least the
novice-to-intermediate user) what they should do to solve the problem,
and (2) it makes the user feel like they need to go read six papers on
type inference before they can make any progress when all they wanted
to do is add two numbers.

In this particular case, something like "Suggested fix: change 'a' in
the type signature to 'Int'" would be an improvement: it addresses
reason (1), and putting it ahead of the "rigid type variable" part
(e.g., textually highlighting the more newbie-friendly portion of the
error message) addresses reason (2). (I realize that the same error
might occur in cases where the type variable isn't bound by a user
type signature, but it's common enough for users to insert type
signatures when the code isn't compiling that I think it's worth it to
treat that as a special case, even if there isn't a more general way
to improve the error message.)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"And I have grown with each disappointment through the years" -- Great Big Sea
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: [Haskell] Laziness and the IO Monad (randomness)

2007-03-01 Thread Kirsten Chevalier

[redirecting to haskell-cafe]

On 3/1/07, Dave Tapley <[EMAIL PROTECTED]> wrote:



However this latter case gets stuck in an infinite loop, terminating on a stack 
overflow.

My question asks why this is the case, when laziness should ensure only the 
first 10 cases need to be computed.



You didn't say which function you had narrowed down the stack overflow
to, but I suspect it's here:


firstTen :: IO [Int]
firstTen = do
infiniteNums <- iterateM addRand randNum
return (take 10 infiniteNums)


In order for IO to work the way you'd expect, you have to be able to
specify which IO operations happen in what order, which is exactly
what a do-block within the IO monad specifies. But specifying the
order of operations also means specifying in what order evaluation
happens. So, the code you've written means "evaluate infiniteNums
fully (in order that we might do whatever IO operations it involves
before the return statement), then return the first 10 elements of its
result." Since you're forcing evaluation of an infinite list, the
program loops infinitely.

If you find this counter-intuitive, you wouldn't be the first, but
there's no other sensible interpretation for the code you've written.
Deferring evaluation of infiniteNums in this case would mean that IO
would happen in a strange and unpredictable order (or if it actually
wouldn't, then the compiler isn't smart enough to know that.)

I would solve this problem by writing a version of iterateM that takes
the length of the desired list as an argument (e.g., 10 in your
example), which sadly breaks modularity, but as I explained above,
working within the IO monad necessitates that. Someone more l33t than
me may be able to suggest a more elegant solution, though.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"They killed, they maimed, and they called information for numbers
they could easily look up in the book." -- Woody Allen
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Splitting Hairs Over Terminology

2007-02-26 Thread Kirsten Chevalier

On 2/26/07, P. R. Stanley <[EMAIL PROTECTED]> wrote:

Back to the comma, surely, syntax sugar fulfills the role of an
operator, a function, or a sequence of low-level procedures, either
in part or comprehensively.
In C, for example, iteration could be implemented using the if
construct with the dreaded goto command. So, strictly speaking, the
while loop could be classed as syntax sugar. Yet, the while loop is a
well-recognized construct in its own right.
I hope you can see what I'm driving at.


It's useful to see the square-bracket-and-comma list notation in
Haskell as syntactic sugar because you don't need to worry about what
it means; you just need to know how to mentally translate it into
applications of cons and nil, and you already know what those means.
Indeed, Haskell compilers are based on that same principle.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Apathy at the individual level translates into insanity at the mass level."
-- Douglas Hofstadter
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Splitting Hairs Over Terminology

2007-02-26 Thread Kirsten Chevalier

On 2/26/07, Dan Weston <[EMAIL PROTECTED]> wrote:

P. R. Stanley wrote:

> In C, for example, iteration could be implemented using the if construct
> with the dreaded goto command. So, strictly speaking, the while loop
> could be classed as syntax sugar. Yet, the while loop is a
> well-recognized construct in its own right.
> I hope you can see what I'm driving at.

Syntactic sugar is fully desugared at compile time. A while loop with
constant limits *could* be considered syntactic sugar if the compiler
can statically unroll the loop. Variable limits are definitely beyond
this definition, since they can only be evaluated at runtime.



I think what P.R. meant is that while loops in C can be desugared like this:

while(condition) {
 stuff
}
more_stuff

=>

loop:
 if(!condition)
goto exit;
 stuff
 goto loop;
exit:
 more_stuff

No static unrolling of the loop happens. So in the sense of "syntactic
sugar" that means "a construct that can be defined in terms of other
language constructs", while is syntactic sugar in C.

Not sure what the original point was, though.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Are you aware that rushing toward a goal is a sublimated death wish? It's no
coincidence we call them 'deadlines'." -- Tom Robbins
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Delaling with State StateT and IO in the same function

2007-02-26 Thread Kirsten Chevalier

On 2/26/07, Alfonso Acosta <[EMAIL PROTECTED]> wrote:

On 2/27/07, Kirsten Chevalier <[EMAIL PROTECTED]> wrote:

> I may be missing something, but why are you using both State and
> StateT? Maybe I don't understand your code, but it seems like you
> could be using StateT everywhere you're currently using State.

Well, as far as I know using "StateT s IO a" for the input functions
would force the state and value of their monad to stay within IO. That
restriction dissapears by using barely "State s a"


Ah, ok. So what if you changed your netlist function so that the type
sig would be:

netlist :: DT.Traversable f =>
 (State s (S HDPrimSignal) -> State s  v ) -> -- new
 (State s (Type,v) -> S v -> State s ())   -> -- define
 State s (f HDPrimSignal) ->  -- the graph
 IO (State s ())

I didn't follow your code well enough to be sure that this would help,
but I think it might. Or why not:

netlist :: DT.Traversable f =>
 (State s (S HDPrimSignal) -> State s  v ) -> -- new
 (State s (Type,v) -> S v -> State s ())   -> -- define
 State s (f HDPrimSignal) ->  -- the graph
 IO s

which seems to me like it would be even simpler, unless you're
planning on composing calls to netlist together (and from the code you
gave, I can't tell whether you are.)

If your code is such that refactoring it to have either of those types
wouldn't make sense, stating the reasons why should clarify things for
the rest of us.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Aw, honey, you can keep what's in my pockets, but send me back my pants."
--Greg Brown
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Delaling with State StateT and IO in the same function

2007-02-26 Thread Kirsten Chevalier

On 2/26/07, Alfonso Acosta <[EMAIL PROTECTED]> wrote:


The returned type is a StateT and the only way in which I succesfully
managed to internally work with both State and StateT is converting
from the former to the later one using this function (not elegant at
all)


I may be missing something, but why are you using both State and
StateT? Maybe I don't understand your code, but it seems like you
could be using StateT everywhere you're currently using State.

Also, your type signatures would be easier to read if you defined a
type synonym for your instantiation of StateT, e.g.:

type AlfonsoM s = StateT s IO ()

and then everywhere you write (StateT s IO ()) now, you could write
(AlfonsoM s) instead.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"...People who mind their own business die of boredom at thirty."--Robertson
Davies
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-26 Thread Kirsten Chevalier

[redirecting to haskell-cafe, since this is getting to be a long discussion]

On 2/26/07, Andrzej Jaworski <[EMAIL PROTECTED]> wrote:

The examples I pointed to seem to share strong and relatively consistent
logic of a program. In case of large GA (e.g. Royal Road Problem) and IFP
(e.g. ADATE) SML was exhaustively proved to predict this logic much better.



Can you clarify what you mean by this? How do you formally prove that
a programming language (rather than a specific implementation of one)
performs better for a given problem? Or do you mean that a specific
implementation of this problem in SML performed better than a specific
implementation of it in Haskell?


In case of Algebraic Dynamic Programming C compiler seems to address
specific properties of a program more adequately which leads to substantial
improvements in optimization. It is important to stress that we deal in ADP
with strong logic of the domain application. Handcrafting C code for regular
applications does not show that kind of advantage, so it wouldn't leave
Haskell in the dust. In general declarative nature has the edge over C
craftsmanship (see:
http://www.clip.dia.fi.upm.es/papers/carro06:stream-interpreter-TR.pdf).



I've read a few of your posts and I still don't understand what you
mean by a compiler "address[ing] specific properties of a program".
Can you give an example of the kinds of program properties you're
talking about, and explain how C compilers exploit them in a way that
Haskell compilers currently fail to do?

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Religion is just a fancy word for the Stockholm Syndrome."
-- lj user="pure_agnostic"
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: LugRadio talk

2007-02-16 Thread Kirsten Chevalier

On 2/16/07, Kirsten Chevalier <[EMAIL PROTECTED]> wrote:

On 2/15/07, Kirsten Chevalier <[EMAIL PROTECTED]> wrote:
> So which date was this infamous show where they talked trash about
> Haskell, anyway? I want to hear this firsthand, but the tables of
> contents given on their web sites don't seem to list "talking trash
> about Haskell" as an item :-)
>

For anyone else who might be wondering (and who, like me, can't resist
a trainwreck), I answered my own question:
http://www.lugradio.org/episodes/68 (January 2, 2007), about 0:10:00
into the podcast.


Also:
http://www.lugradio.org/episodes/70 (January 29, 2007) at 1:13:16, if
you want to hear them (mis)quote from Simon's reply to the above.

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Daylight savings never saved me anything / and Thanksgiving time never
gave me anything / and Autumn's peak only made me wish for spring /
and the daylight, and the wealth of time" -- Eddie From Ohio
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: LugRadio talk

2007-02-16 Thread Kirsten Chevalier

On 2/15/07, Kirsten Chevalier <[EMAIL PROTECTED]> wrote:

So which date was this infamous show where they talked trash about
Haskell, anyway? I want to hear this firsthand, but the tables of
contents given on their web sites don't seem to list "talking trash
about Haskell" as an item :-)



For anyone else who might be wondering (and who, like me, can't resist
a trainwreck), I answered my own question:
http://www.lugradio.org/episodes/68 (January 2, 2007), about 0:10:00
into the podcast.

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"The blues isn't about feeling better, it's about making other people feel
worse, and making a few bucks while you're at it." -- Bleeding Gums Murphy
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] new member

2007-02-16 Thread Kirsten Chevalier

On 2/16/07, P. R. Stanley <[EMAIL PROTECTED]> wrote:

Hi
Paul here - new member - checking to see my account is fully functional.
Does the list know of another list where I can post questions on
functional programming and the related mathematics? I'm assuming
Haskell Cafe is mainly for discussions on Haskell programming and not
so much the underlying theory.


comp.lang.functional on Usenet would probably be a good place. Or the
fora on Lambda the Ultimate:
http://lambda-the-ultimate.org/forum

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"The astonishment of life is the absence of any appearance of reconciliation
between the theory and practice of life."--Emerson
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: LugRadio talk

2007-02-15 Thread Kirsten Chevalier

So which date was this infamous show where they talked trash about
Haskell, anyway? I want to hear this firsthand, but the tables of
contents given on their web sites don't seem to list "talking trash
about Haskell" as an item :-)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Like the rest of the human race, you are one of a kind."--Ani DiFranco
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Strange memory consumption problems in something that should be tail-recursive

2007-02-13 Thread Kirsten Chevalier

On 2/13/07, Jefferson Heard <[EMAIL PROTECTED]> wrote:


Argh, bitten by the scheme bug! Right -- NO tail recursion...  So that leaves
me with some rather non-intuitive strategies for achieving execution time
efficiency.  Anyone care to point me in the direction of a document on
efficiency in Haskell?


There really should be one! (Although there may be something on the wiki
already.) Profiling can help, though.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Are you aware that rushing toward a goal is a sublimated death wish? It's no
coincidence we call them 'deadlines'." -- Tom Robbins
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] questions about core

2007-02-12 Thread Kirsten Chevalier

On 2/12/07, Robert Dockins <[EMAIL PROTECTED]> wrote:


At the risk of sounding self-promoting, I'd like to point out that
the research paper I recently announced defines an intermediate
language that is similar to GHC's core in some respects (they are
both based on System F_omega).  I give a full (call-by-name)
operational semantics and type system for the language in my report
[1].  You won't find any proofs in the paper, but they're on my
medium-term agenda.  There is also source code for an interpreter/
bytecode-compiler/shell for this intermediate language [2].

[1] http://www.cs.tufts.edu/tr/techreps/TR-2007-2
[2] http://www.eecs.tufts.edu/~rdocki01/masters.html



I was also neglectful in not mentioning this paper:

http://www.cse.unsw.edu.au/~chak/papers/SCPD07.html

System F with Type Equality Coercions
Martin Sulzmann, Manuel M. T. Chakravarty, Simon Peyton Jones, and
Kevin Donnelly. In G. Necula, editor, Proceedings of The Third ACM
SIGPLAN Workshop on Types in Language Design and Implementation, ACM
Press, 2007.

which describes System FC, which is the current incarnation of Core in GHC,
and in fact that paper *does* give an operational semantics for it.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"It's important for us to explain to our nation that life is important. It's
not only life of babies, but it's life of children living in, you know,
the dark dungeons of the Internet." -- George W. Bush
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] questions about core

2007-02-12 Thread Kirsten Chevalier

On 2/12/07, Dougal Stanton <[EMAIL PROTECTED]> wrote:

Quoth Joel Reymont, nevermore,
>
> Are these two different Simons? :-)
>

I'm beginning to wonder if Simon is less a name and more a title,
meaning "strong in the lambda force" or somesuch. Let's hope they don't
go over to the dark side ;-)



I read that "Simon" means "one who listens to or obeys God." Tying
this together with Stefan's post, maybe God is sort of like the
unwritten denotational semantics for Haskell.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Would you be my clock if I promise not to hang you / Too close to the window
or the picture of the pope? / I won't set you back and I won't push you
forward / I just want to look in your face and see hope" -- Dom Leone
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] questions about core

2007-02-12 Thread Kirsten Chevalier

On 2/11/07, Matt Roberts <[EMAIL PROTECTED]> wrote:

  - Exactly what are the operational and denotational semantics of core?


Since I don't think this question has been answered yet, here's a
mailing list post from  Simon PJ that probably answers it:
http://www.haskell.org/pipermail/glasgow-haskell-users/2003-February/004849.html

That's from 2003, but I don't think the answer has changed since then.
If you wrote down a precise operational and/or denotational semantics
for Core, you'd probably have a research paper. (Especially if you
proved that GHC actually obeys that semantics...) (Disclaimer: my name
isn't Simon.)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"There are no sexist decisions to be made. There are antisexist
decisions to be made. And they require tremendous energy and
self-scrutiny, as well as moral stamina..." -- Samuel R. Delany
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Very fast loops. Now!

2007-02-10 Thread Kirsten Chevalier

On 2/10/07, Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:


To everyone's surprise, GHC 6.6 beats GCC (3.3.5) here, at least the two test 
machines:


$ ghc -O -fexcess-precision -fbang-patterns -optc-O3 -optc-ffast-math 
-optc-mfpmath=sse -optc-msse2 A.hs -o a

$ time ./a
3.33
./a  0.96s user 0.01s system 99% cpu 0.969 total
 ^

Versus gcc 3.3.5:

$ gcc -O3 -ffast-math -mfpmath=sse -msse2 -std=c99 t.c -o c_loop
$ time ./c_loop
3.33
./c_loop  1.01s user 0.01s system 97% cpu 1.046 total
  ^


There's no doubt that GHC is doing well here, but is that really a
statistically significant difference? Certainly, it's great that GHC
and GCC are doing at least about equally well, but I wouldn't conclude
just from that data that GHC *beats* GCC.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Ninety-nine percent of everything that is done in the world, good and bad, is
done to pay a mortgage. The world would be a much better place if everyone
rented." -- Christopher Buckley
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] still wrestling with io

2007-02-08 Thread Kirsten Chevalier

On 2/8/07, Martin DeMello <[EMAIL PROTECTED]> wrote:

Code here: http://zem.novylen.net/anagrid.html

I've got an instance of IO appearing unexpectedly and I can't figure
out where from. It throws up the following error:

$ ghc --make test.hs
Chasing modules from: test.hs
Compiling Main ( test.hs, test.o )

test.hs:38:15:
Couldn't match `StaticText ()' against `IO (StaticText ())'
  Expected type: StaticText ()
  Inferred type: IO (StaticText ())
In the application `staticText p [text := (labelText a b)]'
In the definition of `textOf':
textOf p a b = staticText p [text := (labelText a b)]


Hi, Martin--
I didn't know what staticText did, so I looked it up in the wxHaskell
documentation (http://wxhaskell.sourceforge.net/doc/index.html, for
anyone who might be following along at home.) As it turns out,
staticText returns an IO action that returns a StaticText(), so that
explains your error: the type signature you gave for textOf says that
it returns something in the StaticText monad, but the body of textOf
consists of a call to staticText, which returns something in the IO
monad. So textOf also has to have an IO type for its return type.
(Intuitively, that's because creating the GUI object that represents
the label is a side-effecting operation, at least with the way
wxHaskell is designed.)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"make them believe, if not in magic, in money well spent" -- Annie Gallup
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] External Core

2007-02-06 Thread Kirsten Chevalier

On 2/6/07, Ricky Barefield <[EMAIL PROTECTED]> wrote:


I've tried running Happy on these files but get the error `Not enough type arguments for 
the type synonym "P"' when I try to run the resultant Parser.hs in Hugs and 
similar errors when run in GHC.



What I'm trying to achieve is to read the hcr files into a Haskell data type 
which I could work with, if anyone could give me any help with using the files 
for manipulating Core I would be very grateful.



External Core isn't currently working correctly in the HEAD. Aaron
Tomb was working on this, I know (as per mailing lists posts on
cvs-ghc from November and December), but I don't know if he still is.

glasgow-haskell-users is a better place to discuss this.

Your best bet if you want to be able to use External Core may be to
fix it yourself. I know that's what I had to do! But, people on
glasgow-haskell-users and cvs-ghc will probably be happy to discuss it
with you.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I saw no reason then why hell should not have, so to speak, visible branch
establishments throughout the earth, and I have visited quite a few of them
since."--Robertson Davies
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] OT: any haskell-friendly / functional programming friendly comp sci programs? (for a 30s guy who did his undergrad in liberal arts)

2007-02-05 Thread Kirsten Chevalier

On 2/5/07, Paul Johnson <[EMAIL PROTECTED]> wrote:

If you are already a hacker then "the right kinds of people" to start a
company with may not be the ones you find in a Masters or Bachelor
comp-sci course.  Different people have different views on this, of course.


Yeah, actually, I have to agree with that comment. Based on my own
experiences at least, students in an undergrad CS program are likely
to be looking for a cushy job where they'll get spoon-fed everything
(unless you're at an excellent university, which has its own
problems); students in a terminal master's CS program are going to be
much the same. For the networking opportunities, you might be much
better off hanging around on #haskell IRC for a while, and maybe even
going to some conferences, and eventually, if you're *looking* for
restless people who would want to get involved in a company that does
FP stuff, you may find they'll stick to you like glue. But someone has
to take the initiative.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Well-behaved women rarely make history."
--Laurel Thatcher Ulrich
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] How did you stumble on Haskell?

2007-02-02 Thread Kirsten Chevalier

On 1/28/07, Alexy Khrabrov <[EMAIL PROTECTED]> wrote:

How do people stumble on Haskell?


I was thinking that my story wasn't particularly interesting, but then
again, I may be the only person on this list who can actually give a
properly-cited publication as an answer to the question "how did you
learn Haskell?":

Patricia Johann and Franklyn Turbak, Lumberjack Summer Camp: A
Cross-Institutional Undergraduate Research Experience in Computer
Science, Computer Science Education 11(4), Dec. 2001. -
http://cs.wellesley.edu/~fturbak/pubs/cse01.pdf

The shorter answer is, "I got paid to learn it," when I was an
undergrad, and so I find those of you with real jobs and real lives
who learn new languages in their copious free time with no particular
extrinsic motivation for it to be particularly admirable.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Relax. I'm weird, not violent."--Brad Boesen, _Disturbed_
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-31 Thread Kirsten Chevalier

On 1/31/07, Bill Wood <[EMAIL PROTECTED]> wrote:

On Wed, 2007-01-31 at 19:51 +1100, Donald Bruce Stewart wrote:
   . . .
> foldl (\water dish -> wash water dish) soapywater dishes :: [Dishes]

Nice example.  First, note that you can't get close with map -- you need
accumulation across the dishes.  Second, the correctness of this plan
depends on the rather strong frame axiom that no entity in the
environment is changed during a step of the fold, so no broken dishes.
Finally, that doesn't work so well when there are constraints on the
order that the dishes are washed, for example when washing the cruddiest
dishes first while there are more suds.



It also assumes that there's necessarily a natural decomposition on
the dishes, and if you think there is, you haven't seen my kitchen!

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Sleeping is a gateway drug / to being awake again" -- They Might Be Giants
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-28 Thread Kirsten Chevalier

On 1/28/07, Chris Kuklewicz <[EMAIL PROTECTED]> wrote:

> I think many of the users of Haskell forget that there are a lot of
> people out there who are not career academics working with pure
> mathematics day-in and day-out.

GHC seems to be developed by several people at Microsoft Research.  They are not
career academics.  I am less familiar with the other compilers.


There's no need for the "seems to be". The excellent "History of Haskell" paper:
http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm
discusses the history of every extant Haskell compiler, in section 9.
If I'm reading correctly, every one of these compilers (except
possibly for jhc, it's not clear) began as an academic research
project at a university -- that includes GHC, which was developed by
academics at the University of Glasgow (hence the "G" in "GHC"), and
it was only later that some of them moved to MSR.

Be careful about conflating "academic" with "not practical". It's true
that academics haven't always had time to explain the useful,
practical techniques they discover in ways that are understandable by
programmers who don't have formal mathematical backgrounds (and be
careful about conflating "having a PhD" with "having mathematical
background or experience", too). In the same way that programmers have
jobs to do and thus have limited time to puzzle out new languages,
academics have jobs that don't tend to reward them for spending time
making those puzzles clearer to practitioners. As a challenge to
everyone posting on this thread: rather than excoriating academia for
its sins, why not start creating the documentation (or tutorials or
libraries or applications) you wish to see?

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"No one's actually said 'O great America, thank you for saving us from the evil
communist bug-eyed aliens, and, can we have fries with that?' yet have they?"
-- Debra Boyask
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Channel9 Interview: Software Composability and theFu ture of Languages

2007-01-26 Thread Kirsten Chevalier

On 1/26/07, Collin Winter <[EMAIL PROTECTED]> wrote:

You have a PhD in computer science from Princeton, so your measure of
what's "hard" and what isn't in this regard is nearly worthless.

I find it incredibly insulting for you to assert that people who
complain about Haskell's difficulty are too lazy and aren't really
interested in a better solution. Maybe they just don't want to have to
take graduate-level classes in category theory to get their job done.


I've never taken a graduate-level class in category theory, or any
course on category theory, and I'm a Haskell implementor. So perhaps
the people who think they need to taken graduate-level classes in
category theory in order to use Haskell are barking up the wrong tree
(or perhaps I'm not a very good Haskell implementor, which is always
possible.)


Maybe they want a solution that meets them half-way, one that doesn't
require that they understand how to build their own resistors and
capacitors in order to make their TV work again (to use your analogy).
That's what Meijer means when he says that Haskell is too hard.



On the other hand, Meijer also has a PhD in computer science... is his
judgment on Haskell's difficulty or lack thereof worthless, too? If
not, then surely, judgments about whether Haskell is too hard can't
have much to do with who has a PhD and who doesn't.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Would you be my clock if I promise not to hang you / Too close to the window
or the picture of the pope? / I won't set you back and I won't push you
forward / I just want to look in your face and see hope" -- Dom Leone
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-01-25 Thread Kirsten Chevalier

On 1/25/07, Neil Mitchell <[EMAIL PROTECTED]> wrote:

We have the nofib suite, it could do with some attention, but it is
(or was) a pretty good performance tester.



Yes, I've spent enough time staring at nofib results that I understand
just how random and un-representative the programs in nofib are. nofib
consists of whatever people have submitted for nofib, and moreover,
its contents are more or less the same now as they were in 2002. A lot
has changed about the ways in which people use Haskell in those past
four years -- in 2002, GHC was the only big Haskell application out
there, and I don't think that's true anymore. So personally, I have
zero faith in nofib results to tell me anything about how helpful
optimizations will be except on a very large scale of granularity.


The problem is that something like GHC is very complex, with lots of
transformations. When transformations are firing other
transformations, which in turn fire other transformations, it doesn't
take a great deal to disrupt this flow of optimisation and end up with
a result which doesn't accurately reflect the particular change you
made. Better knowledge of the end effects on a program isn't
necessarily going to translate to better knowledge of the
optimisations effect.


Sorry for being unclear. I agree with your comments on GHC, and one
thing I was suggesting was that somebody should think about profiling
tools for improving our understanding of how those transformations
interact with each other, not just profiling tools for understanding
the end result. Everyone says that optimization is a black art, but I
remain to be convinced that understanding the interactions between
different optimizations isn't a problem that would submit to
appropriate amounts of effort.



Maybe if we had a greater number and variety of optimising compilers
we'd be able to more freely experiment with optimisation techniques in
different settings. At the moment GHC is all there is (with Jhc not
ready for mainstream use yet)



I agree that there should be more diversity in compilers, but I think
even sticking to GHC, there's a lot that could be done when it comes
to improving understanding of just what the optimizer is doing.
Anything better than staring at intermediate code would be an
improvement, since time spent staring at intermediate code usually is
time spent narrowing down the 2 lines out of 1000 that are relevant.
Maybe it's possible to design tools that could help with that
narrowing-down process.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"by God I *KNOW* what this network is for, and you can't have it."--Russ
Allbery
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-01-25 Thread Kirsten Chevalier

On 1/25/07, Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:

The degradation is due to two things:

* several entries have been disqualified (some fairly, some unfairly)
   Fix: fix is to submit more

* the shootout haskellers stopped submitting once it was clear we'd
  need bytestrings to do signifcantly better.

   Fix: bytestring is now on the shootout machine, so we can resume

I don't think there is any fundamental issue exposed, other than that we
stopped updating entries, while other languages decided they should try
harder.


I have to disagree with this. That is, I don't object to Don's
explanation of why the shootout entries degraded in this particular
case, but I do think that Andrzej was right to point this out:
"Perhaps making a collective effort towards benchmarking Haskell programs and
analyzing the results in some methodic way could prove helpful?"
and I think that he *is* pointing out a fundamental issue here.

Maybe it's just me, but as someone who has some amount of experience
with implementing optimizations for Haskell, I find it nearly
impossible to precisely understand and measure exactly how those
optimizations improve (or degrade) program performance. The tools we
have just aren't adequate. And so, at least for me, implementing
optimizations feels more like fumbling around in the dark than like
using anything approaching the scientific method.

This is, of course, because everybody has limited resources and
implementing good profiling tools for implementors hasn't been a high
priority. And Alexey Rodriguez's recent work on using hardware
counters is a step in the right direction. But, I think the time is
now to put more effort into profiling and benchmarks for Haskell.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I wish people weren't so set on being themselves, when that means being a
bastard." -- Robertson Davies
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] readFile problem

2007-01-08 Thread Kirsten Chevalier

On 1/8/07, Stefan Aeschbacher <[EMAIL PROTECTED]> wrote:

There are many things i do not understand. Why the different behaviour
on Linux and Windows? Shouldn't an exception be thrown on Linux
instead of a core dump? I don't use any unsafePerformIO or foreign
calls. Why the changed path? I never change working directory in my
code. Why is a function (-> reading the config file) re-evaluated at a
later point in time?

How can I debug such a problem?

My environement is ghc 6.6 on Ubuntu or Windows XP.



It may be difficult to say without seeing your code. Is it possible
for you to post it, or at least a minimal test case that would
illustrate the different errors on the different OSes? What Unix
toolkit are you using when running ghc on Windows, if any (cygwin,
mingw, both, neither?)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"What is research but a blind date with knowledge?" -- Will Henry
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why does the wiki search facility not work properly?

2007-01-07 Thread Kirsten Chevalier

On 1/7/07, Paul Moore <[EMAIL PROTECTED]> wrote:

On 07/01/07, Kirsten Chevalier <[EMAIL PROTECTED]> wrote:
> I don't know, but I would suspect that the page isn't linked from
> anywhere, and that's why it's not showing up in the search results.

MediaWiki has a concept of namespaces - Talk:SantaClausProblem is in
the "Talk" namespace - maybe that namespace isn't searched by default?



The Haskell wiki doesn't run on MediaWiki, though, does it? In any
case, if there *is* a checkbox for searching the Talk namespace (and I
forget whether there is), then yes, be sure you have it checked.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"What is research but a blind date with knowledge?" -- Will Henry
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Why does the wiki search facility not work properly?

2007-01-07 Thread Kirsten Chevalier

I don't know, but I would suspect that the page isn't linked from
anywhere, and that's why it's not showing up in the search results.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"What is research but a blind date with knowledge?" -- Will Henry
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Literate Haskell source files. How do I turn them into something I can read?

2006-12-31 Thread Kirsten Chevalier

[redirecting to the mailing list]

On 12/31/06, Michael T. Richter <[EMAIL PROTECTED]> wrote:

On Sat, 2006-30-12 at 23:48 -0800, Kirsten Chevalier wrote:
> I'm probably not the right person to explain why David Roundy chose to
> write his code the way he did, since I've never even met him. However,
> since as of 12/8/2006 there were 115 contributors to darcs, perhaps
> reading the source code isn't as difficult as you seem to think it is.

What's the secret then?  pdflatex vomits.  unlit generates a few dozen
pages of whitespace per five-line block of code.  I'm at a loss to take
this "literate" format and turn it into something which I can read.



The secret lies in adjusting your perspective. The literate format is
readable by humans as is. If there are specific things about it that
you find difficult, you can post about them here with *specific*
examples you find perplexing. But one reason why you may feel like
people aren't being helpful is that your question isn't specific
enough.


> > I fail to see how making code which can't be read makes it more...
> > readable.

> "Can't" is an awfully strong word, isn't it?

Nope.  The source files as they are are gibberish.


Again, that's an awfully strong statement. Clearly, there exist any
number of people who can read them without finding them gibberish.
Perhaps it might be better to listen to what they are telling you than
to make contradictory declarations.


There's some kind of
markup (of a type I can't identify) mixed up with Haskell source.  Given
that I can't identify the markup and I'm a little hazy on Haskell at
this point (part of the point of this exercise was to learn to read
Haskell as it's used in real projects), the net effect is executable
line noise.  You know, like a perl program written circa 3.0.



Right, if you're trying to learn to read Haskell as it's used in real
projects, reading the .lhs files as they are is the way to go. Again,
if you find specific things hard to comprehend, ask here, or on the
IRC channel. A general "all Haskell looks like line noise!" complaint
is hard for us to answer.


> I can only explain how I did it myself, which was through practice.

OK.  How do you read the literate source code?  Which tools do you use
to separate the code from the commentary?  Which tools actually work to
turn .lhs files into something human-readable?  (pdflatex failed on the
GHC code as well.)



My eyes. And brain. I'm sorry that I can't be more helpful, but that's
what most other people I've watched reading Haskell code use, too.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Memo to myself: Do the dumb things I gotta do. Touch the puppet head."
-- They Might Be Giants
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re[8]: [Haskell-cafe] Strange type behavior in GHCi 6.4.2

2006-12-31 Thread Kirsten Chevalier

On 12/31/06, Bulat Ziganshin <[EMAIL PROTECTED]> wrote:

this don't say anything place. and these rules have their own source: it's
hard to optimize using your path. but when program optimization is just
adding a few options/pragmas to the program, it' becomes cheap enough to
change these rules. didn't you thought about it?



In my experience, adding pragmas and toying with options without
insight into what they do is not "cheap", because it takes up the
programmer's time, and time is more important than anything else.
Every minute spent typing in pragmas is a minute lost that could have
been spent thinking about how to write your code more elegantly, and
in my experience -- and again, maybe it's just that I'm slow -- adding
pragmas doesn't help. When it comes to inlining and specializing, GHC
tends to be smarter than I am. (Once more, maybe it's just that I'm
slow.) I'd rather focus my energies on doing the things GHC can't
(usually) do, like replacing an O(n^2) algorithm with an O(log n)
algorithm.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Happy is all in your head / When you wake up and you're not dead / It's a
sign of maturation / That you've lowered your expectations..."--Barbara Kessler
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re[4]: [Haskell-cafe] Strange type behavior in GHCi 6.4.2

2006-12-30 Thread Kirsten Chevalier

On 12/30/06, Grady Lemoine <[EMAIL PROTECTED]> wrote:

I tried compiling, but I got a linker error:

/usr/lib/ghc-6.4.2/libHSrts.a(Main.o): In function `main':
(.text+0x2): undefined reference to `__stginit_ZCMain'
/usr/lib/ghc-6.4.2/libHSrts.a(Main.o): In function `main':
(.text+0x16): undefined reference to `ZCMain_main_closure'
collect2: ld returned 1 exit status



You need to either define a "main" function in your module (e.g.,
"main = putStrLn "Hello world!") or add -c to your compile flags.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I wanna live for life and no other / cause I don't ever wanna be like my mother
I wanna learn to walk on the water / cause I don't wanna be like my father"
-- Noe Venable
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Literate Haskell source files. How do I turn them into something I can read?

2006-12-30 Thread Kirsten Chevalier

On 12/29/06, Michael T. Richter <[EMAIL PROTECTED]> wrote:


 I'm trying to wrap my mind around the darcs source code as a preliminary to looking into 
GHC's guts.  All of darcs is written as .lhs files which have bizarre mark-up in them 
which distracts me from the actual Haskell source I'm trying to figure out and get used 
to.  Apparently the GHC compiler can take .lhs files, strip them with "unlit" 
(a utility which I finally found buried deep in the GHC installation -- off-path) and 
then compile them normally.  The problem I have is that unlit leaves behind instead these 
huge gaping (and highly distracting) stretches of whitespace while it takes out the 
markup.



Speaking of bizarre markup, I gently suggest using plaintext rather
than HTML, and wrapping your lines, when you post to this list.

In any case, I'm surprised that you find the Literate Haskell aspect
of it to be the *most* bizarre thing about darcs's sources, but
anyway, I really do suggest turning the code into PDFs as Cale
suggested rather than trying to strip out the literate markup.
Sometimes, documentation really does help one understand code, and the
entire point of literate programming is to make code more readable. A
little effort spent learning now could save you a whole lot of effort
later.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Dare to be naive."--R. Buckminster Fuller
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re[4]: [Haskell-cafe] Strange type behavior in GHCi 6.4.2

2006-12-30 Thread Kirsten Chevalier

On 12/30/06, Bulat Ziganshin <[EMAIL PROTECTED]> wrote:

Hello Kirsten,

Friday, December 29, 2006, 6:30:22 PM, you wrote:

> I suggest *not* using these pragmas unless a combination of profiling
> and reading intermediate code dumps suggests that foo -- and its
> un-specialized nature -- is truly a bottleneck.

it's a matter of taste - and experience. may be it's simpler to add a huge
number of INLINE pragmas than to profile and especially read code dumps?



I agree that profiling and reading code dumps can be daunting, but in
my opinion, it's better to learn these skills once and for all (and
unfortunately, these skills are still necessary given the current
level of Haskell technology) and gain insight into how to use the
compiler to get the code you want than to practice cargo-cult
programming in the form of wanton pragmas.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Religion is just a fancy word for the Stockholm Syndrome."
-- lj user="pure_agnostic"
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re[2]: [Haskell-cafe] Strange type behavior in GHCi 6.4.2

2006-12-29 Thread Kirsten Chevalier

On 12/29/06, Bulat Ziganshin <[EMAIL PROTECTED]> wrote:

i propose you to use INLINE pragma:

{-# INLINE foo #-}

unless your function is recursive. in this case, you should use SPECIALIZE
pragma:

{-# SPECIALIZE foo :: Double -> Double -> Double #-}



I suggest *not* using these pragmas unless a combination of profiling
and reading intermediate code dumps suggests that foo -- and its
un-specialized nature -- is truly a bottleneck. Excessive amounts of
SPECIALIZE pragmas can make your code ugly without actually improving
performance if you optimize prematurely (and I speak from experience).
Think *first*, add pragmas later; again, people on the mailing lists
and IRC channel are usually happy to provide guidance with this.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"To be free is not to have the power to do anything you like; it is to be able
to surpass the given towards an open future..."--Simone de Beauvoir
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Strange type behavior in GHCi 6.4.2

2006-12-28 Thread Kirsten Chevalier

On 12/28/06, Grady Lemoine <[EMAIL PROTECTED]> wrote:


One question I have, though, for anyone on the list who knows the
answer -- if I give a function a polymorphic type signature, can it
affect performance?  That is, if I write two functions with the same
definitions but different user-specified type signatures,

foo1 :: (Floating a) => a -> a
foo1 = ...

and

foo2 :: Double -> Double
foo2 = ...

when I apply foo1 to a Double, will the compiler (GHC, specifically)
generate code that is just as efficient as if I used foo2?



As with so many things, the answer is "it depends". The simple answer
to "if I give a function a polymorphic type signature, can it affect
performance?" is "no, because type information is erased before code
generation". However, if by "polymorphic type signatures" you mean
ones involving class-based overloading, like the ones you wrote, then
the answer is "maybe" -- functions that have classes involved in their
types are desugared by the compiler into functions that take extra
"dictionary" arguments, which can make performance worse. GHC does
"specialization" to try to negate some of the performance impact of
this, but it doesn't always do what you want it to. The best thing to
do is to make sure you compile your code with -O2 and if profiling
seems to imply that overloaded functions are causing you bottlenecks,
seek help on this list or on Haskell IRC (and there should be a pretty
good body of previous discussion on the subject in the list archives).

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I eat too much / I laugh too long / I like too much of you when I'm
gone." -- Ani DiFranco
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Is there a printable copy of the (GHC) library references anywhere?

2006-12-27 Thread Kirsten Chevalier

On 12/27/06, Paul Moore <[EMAIL PROTECTED]> wrote:

I'd like to print out a copy of the GHC manuals, for reference. I've
got the Haskell 98 report, and the GHC user guide, but the only
documentation I've found for the hierarchical libraries is in HTML
format (generated from Haddock).

Is there a printable (preferably PDF) form of the library
documentation? Either all of it, or alternatively reasonably large
subsets?



There may be an easier way, but if nothing else, you could download
the HTML.tar.gz file for the library docs and then use latex2html to
generate TeX to generate a PDF. (Personally I wouldn't find it at all
useful to have a printed copy of the library docs, even though I do
like printed manuals, because I only ever consult them to look up a
specific function or type, which is a lot easier to do in the
hypertext version -- but YMMV.)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"All we can ever do is lay a word in the hands of those who have put one in
ours." -- Richard Powers
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Followup on writing "Haskell for Dummies..."

2006-12-23 Thread Kirsten Chevalier

I think I've decided that this isn't the right time for me to take the
lead on this book-writing project, and in addition, I've come to think
that maybe the things *I'd* like to say about Haskell hacking can't be
transmitted so easily in book form. However, if any others would like
to organize the writing of one (or several) books based on any of the
ideas brought up in the mailing list discussion, they should feel free
to step forward and do so, and know that they won't be duplicating
work (or at least not my work).

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"You can't learn everything you need to know legally."--John Irving
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-14 Thread Kirsten Chevalier

On 12/13/06, Justin Bailey <[EMAIL PROTECTED]> wrote:

On 12/12/06, Joachim Durchholz <[EMAIL PROTECTED]> wrote:
> Agreed.
> Something along the lines of "The Art of Functional Programming".

+1 . I would love to read something that is the equivalent of 'design
patterns',  but for functional languages. I thought Osasaki's book "Purely
Functional Data Structures" would have that, but it was little too focused
on proving properties of algorithms. As someone in industry, that wasn't so
important to me. I want to learn how to "think" functionally.



Check out this paper by Jeremy Gibbons, "Design Patterns as
Higher-Order Datatype-Generic Programs":
http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/index.html#hodgp

If you want to learn how to "think" functionally, forget you ever
heard the words "design pattern". There shouldn't be patterns in your
programs. If there are, that means that either your language isn't
providing you with enough abstractions or that you aren't using the
abstractions that are available (or possibly both).

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Anyone who spends their life on a computer is pretty unusual." -- Bill Gates
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is a hacker? [was: Mozart versus Beethoven]

2006-12-13 Thread Kirsten Chevalier

On 12/14/06, Benjamin Franksen <[EMAIL PROTECTED]> wrote:

Kirsten Chevalier wrote:
> (Since, of course,
> one should never apply the term "hacker" to oneself.)

Who told you that?


The Jargon File. But yes, I can anticipate more or less all of the
possible responses to *that*, and, point taken.


Calling oneself 'hacker' is a sign of healthy
self-respect; to the contrary, I don't know anyone who would call
themselves wannabe-hacker.



Well, I hope so, since I contradict my own advice and call myself a
hacker anyway :-)


Being a hacker is a matter of attitude and self-definition more than
knowledge and experience. A hacker, even if young and lacking experience,
reads books for hackers (if at all) not 'how do I become a hacker' books.
The attitude is 'gimme the knowledge so i can go ahead and start doing real
stuff', not 'oh, there is so much to learn, maybe after 10 years of study
and hard work people will finally call me a hacker'.



Very reasonable. Very sane.

Speaking of the term "hacker" and of various subcultures, the way in
which Haskell and the open-source community seem to have met each
other this year just makes me melt with joy. I know it wasn't like
that six years ago; the Haskell community was small, and there wasn't
exactly such a thing as the "open-source community" (and please let's
not have a "free software" vs. "open source" debate, because I've
heard that all before, too). I don't know exactly what happened in the
meantime, besides the miracle of this vast series of tubes that we
cann the Internet, but someone should really be writing a sociology
paper about it.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"The geeks shall inherit the earth." -- Karl Lehenbauer
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-13 Thread Kirsten Chevalier

On 12/13/06, Claus Reinke <[EMAIL PROTECTED]> wrote:

> The reason why Haskell is academic-centric is that it was originally
> conceived by academics, and they were interested in doing research
> into language design and implementation ..

shouldn't we make this "used to be academic-centric"?



I think that's still slightly premature, although it seems like a ton
of progress has been made just this year.


> People outside academia who might be inclined to take on some of
> those more practical questions are just beginning to notice that Haskell
> could be useful for them too. ..

although "just beginning to notice" may be accurate on a historical scale,
I have the feeling that the actual development is further along than this. at
least, there have been sufficiently many and active early adopters for long
enough to make a substantial difference. so those practical questions are
not being raised, but several of them are actually being addressed.



Certainly, and not to in any way denigrate the early adopters' work
(and I am, I guess, an early adopter, though not one who's actually
contributed much). I guess I was just trying to say to the poster I
was replying to that if you're still not happy with the level of
practicality of Haskell tools now, either jump in and help improve
them yourself, or if you don't want to do that, have a little patience
-- they'll get there soon enough.


one of the most exciting aspects of Haskell is that pragmatic interest in
the language has been growing steadily without academic interest in it
declining in any way. as a result, we have a language that represents
an interesting mixture of good and useful, although it is not entirely
clear yet how long this nice balance will hold.

we have had lots of languages that were intended to be well-designed
(good, beautiful, ..), but never much used in practice, and we have also
had lots of languages that were intended to be pragmatic (practical,
useful, ..), without much interest in theoretical beauty. but how many
languages are there where the two aspects have converged, with both
communities still actively interested in the result?



I'm interested to see what's going to happen, too. To answer your
question with another, how many languages are there that have quite
the same kind of people committed to them that Haskell does? :-)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Happy is all in your head / When you wake up and you're not dead / It's a
sign of maturation / That you've lowered your expectations..."--Barbara Kessler
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Mozart versus Beethoven (was: Writing "Haskell For Dummies ...)

2006-12-13 Thread Kirsten Chevalier

On 12/13/06, minh thu <[EMAIL PROTECTED]> wrote:

Another difference with music that strikes me is the level of
abstraction : a note is a note. A line of code (especially in a
imperative setting) is much more than a line of code. Ok, one can
argue that notes interact together but, imo, not in the same way line
of code can do.

Programming is complex, you have to layer code on codeon code. Music
is quite 'direct', you hear it without thinking.



I'm not sure that's right, though. Just as a line of code seems to be
simple but what's going on at the hardware level is very complex, a
musical note is simple but what goes in inside your brain when you
hear one is extremely complex, poorly understood, and the details of
it aren't accessible to you consciously. You say "you hear it without
thinking" -- exactly, you feel like you're "not thinking" because of
all of the amazingly complicated things that are going on inside. No
program is nearly that complex!

I suppose I must be channeling Hofstadter.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"One of these days and it won't be long / Going down in the valley and
sing my song
Gonna sing it loud, sing it strong / Let the echo decide if I was
right or wrong"
-- Bob Dylan
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Aim Of Haskell

2006-12-13 Thread Kirsten Chevalier

On 12/13/06, Bulat Ziganshin <[EMAIL PROTECTED]> wrote:

Hello Joachim,

Wednesday, December 13, 2006, 2:17:08 AM, you wrote:

> Actually, it's quite simple: following the ideology de jour and
> teaching-relevant support.

are you remember title of Wirth's book? "algorithms + data structures =
programs". i think that Haskell is ideal language for teaching programming
now (like Pascal was in 80's), because it teaches how to develop algorithms
instead of focusing on implementation details. of course, you are right
that fashion and availability drives actual teachers selection



That's a good point too. Actually, though, my original comment about
understanding the reasons for programming language adoption was not
just meant to refer to adoption in an educational context, but also to
the reasons why people adopt the languages they do for commercial (or
research or free software) projects, as well; so, I don't think it's
quite *that* simple, although I should have been more clear.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Base eight is just like base ten, really... if you're missing two fingers."
-- Tom Lehrer
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-13 Thread Kirsten Chevalier

On 12/13/06, Kaveh Shahbazian <[EMAIL PROTECTED]> wrote:

I think this is going out of the way. Excuse me, but the main discussion was
not about pascal!


This list is exactly for off-topic discussions :-)


And thanks again to all. Now I think there is a bigger whole between current
situation of Haskell and using It as a real tool, than what I thought
before.
But any way; I still have a hope for rising a new folk of thinkers in
software world that will put ideas to work more practically. Haskell got
academic-centric-being syndrome, as JAVA got perfectionism syndrome (see
elegant and useless design patterns and architectures there!).
I can not imagine a pure and clear vision about this new folk that IT world
lakes now. If anyone helps me with clarification of this thing, It will be
great to me!


The reason why Haskell is academic-centric is that it was originally
conceived by academics, and they were interested in doing research
into language design and implementation and also had jobs to take care
of and all of this doesn't leave much time for being a language
evangelist or for figuring out what the practical issues might be (not
to mention sleeping at night). People outside academia who might be
inclined to take on some of those more practical questions are just
beginning to notice that Haskell could be useful for them too. The
reason this didn't happen earlier was that there was no marketing
budget. It had to happen in a grassroots fashion, and IMO it couldn't
have happened until after the rise of distributed open-source
development (which, I remind you, didn't start gaining a lot of
momentum until not that long ago).

You could become one of those "new folk of thinkers". Be the change
you wish to see.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"They say the world is just a stage you're on...or going through."
--Jim Infantino
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: a cabal/database lib experience (was: [Haskell-cafe]Trivialdatabase access in Haskell)

2006-12-12 Thread Kirsten Chevalier

[trimmed replies]
On 12/12/06, Paul Moore <[EMAIL PROTECTED]> wrote:

On 12/12/06, Claus Reinke <[EMAIL PROTECTED]> wrote:
> the difference, as far as it is relevant for getting going, is often just
> context, which can be rectified by surprisingly small steps, such as
> collecting  the assumptions in one obvious-to-find file.

Indeed. I can now confirm that it's *not* hard to get takusen set up -
it's just a bit hard to find out it's not hard :-)



If you generalize from "takusen" there, I think you'll understand a
lot about Haskell :-)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Dare to be naive."--R. Buckminster Fuller
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Andreas Rossberg <[EMAIL PROTECTED]> wrote:

Claus Reinke wrote:
>
> but on the Pascal note: is there anything in Pascal that Haskell doesn't
> provide, and improves on (nested procedures, procedure parameters,
> distinguishing in and out parameters, types, ..)?

Subrange types, maybe? But I'm sure Oleg will show us that Haskell
already has them. :-)



Maybe the real question should be: is there anything in Pascal that
Haskell's type system doesn't provide?

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Other than to amuse himself, why should a man pretend to know where he's going
or to understand what he sees?" -- William Least Heat Moon
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Brian Hulley <[EMAIL PROTECTED]> wrote:

Kirsten Chevalier wrote:
> since it's not as if anyone programs in Pascal anymore.

Yet I'm sure most people who did a computer science degree some decades ago
remember the old joke about passing things by name or value for what it's
Wirth... :-)



I was kidding slightly. My first programming language was Pascal, but
I guess I should be grateful that I didn't take the same course a year
later, because then my first language would have been Java.

In fact, a comment from Lyn Turbak, who taught the second-semester
computer science class I took at Wellesley, is in some sense or
another half of the reason why I'm participating in this discussion
today -- a student (not me) asked him, "why are we learning Pascal if
you hate the language so much?" and he explained, "Historical
accident..." and talked about the reasons why Pascal ended up being a
popular teaching language. Much later, I'm amazed at how few students
ask this kind of question and how few teachers talk about the answers
to them.

I think this relates back to the point of the original discussion.
People (except people on this mailing list, and a few similar fora)
don't talk much about the reasons for choosing programming languages.
When they do talk about it, it's usually very prescriptively oriented
rather than descriptively oriented. I think that it would serve this
community well if somebody was able to achieve a better understanding
of the social reasons why some programming languages are adopted and
some aren't. I think all of us already know that the reason isn't
"because some are better than others," but it might be time for
someone to go beyond that.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"THEY CAN KILL YOU, BUT THE LEGALITIES OF EATING YOU ARE QUITE A BIT DICIER"
--David Foster Wallace
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Arie Peterson <[EMAIL PROTECTED]> wrote:

> Haskell is just too similar to Pascal.

This makes me wonder how people pronounce "Pascal". It's probably because
I'm from Europe, but I put the stress on the second syllable. Pronouncing
it like "rascal" is, well, funny :-).



For whatever it's worth, I'm American and have mainly heard Americans
pronounce it with the stress on the second syllable -- however, when I
mention programming in Haskell to other Americans, I get the "oh, you
mean Pascal?" response sometimes too, even though I pronounce
"Haskell" with the stress on the first syllable. I'm not sure why,
since it's not as if anyone programs in Pascal anymore.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Never wear shorts with the name of your town across the ass if you live in
Needham." -- Beth Murphy
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Andy Georges <[EMAIL PROTECTED]> wrote:

Hi,

> Actually, the more I think of it, the more I think we should rename
> the language altogether. It seems like people say "Haskell" with
> stress on the first syllable if they were either on the committee or
> learned it inside academia, and "Haskell" with stress on the second
> syllable if they learned it from online sources. And we really don't
> need more pronunciation-based class distinctions.

If you'd all speak West-Flemish, the problem would solve itself :-)



Didn't this discussion originally start out as a warning not to say
"If you'd all speak [or program in] _____, the problem would solve
itself"? :-)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"What you call 'lying', other people would call 'abstraction'." -- Alex Aiken
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Brian Hulley <[EMAIL PROTECTED]> wrote:

Neil Mitchell wrote:
> Maybe we
> should try and hijack the phrase functional programming - Haskell is
> just too similar to Pascal.

This reminds me of when I was getting an X-ray a few months ago and I struck
up a conversation with the radiologist who turned out to be an ex-computer
programmer so he asked what language I was using so I said "Haskell" and he
said something like "Oh yeah Pascal I know that..."

Perhaps we need a tutorial on how to pronounce the word "Haskell" so that it
doesn't sound like "Pascal" :-) (eg "Hiskll")



Actually, the more I think of it, the more I think we should rename
the language altogether. It seems like people say "Haskell" with
stress on the first syllable if they were either on the committee or
learned it inside academia, and "Haskell" with stress on the second
syllable if they learned it from online sources. And we really don't
need more pronunciation-based class distinctions.

"Curry" would have avoided this problem.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"It was cold in the house so I slept in my car / And I steamed up the windows,
then it started to rain / And I dreamed about sex and I dreamed about peppers /
Woke up doing 85 in the passing lane" -- Ed's Redeeming Qualities
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:

-- Don "If it ain't pure, it ain't functional" Stewart



Oh, so you're saying that we should trademark the phrase "functional
programming" so that no language with uncontrolled side effects would
be allowed to use it?


--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Research is what I'm doing when I don't know what I'm
doing."--Wernher von Braun
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Tomasz Zielonka <[EMAIL PROTECTED]> wrote:

On Tue, Dec 12, 2006 at 10:58:18AM +, Kirsten Chevalier wrote:
> Functional programming people have a reputation for arrogance --
> whether that impression is fair or not and whether that arrogance is
> merited or not, the impression exists, and some people find it a
> turn-off.

Aren't you talking about the LISP community? ;-)



That's exactly the problem! For most people there *is* no difference.
You say "functional programming" to most people, even professional
programmers, and usually the only chance you have of getting them to
understand what what you mean is by asking "so, have you heard of
Lisp, or Scheme?"

Avoiding the question of whether the Lisp community deserves that
reputation, *we* need to be sure to avoid acquiring the same.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Research is what I'm doing when I don't know what I'm
doing."--Wernher von Braun
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Mozart versus Beethoven (was: Writing "Haskell For Dummies ...)

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Patrick Mulder <[EMAIL PROTECTED]> wrote:

Not sure whether this is the right place to discuss
computers and programming in general:


You're implying that there's a *more* appropriate forum somewhere for
discussing analogies between music composition and programming
languages? If so, I'd like to know what it is!


But Dijkstra's
metaphor is suggesting, that while Beethoven learned
by experiment and debugging compositions, Mozart did
not have a need for reflection while writing down
music ?



I've been thinking about this. Are there really any programmers who
are like Mozart in the way you describe? Donald Knuth might be one, or
at least, he wrote that he wrote and debugged all of TeX on paper
before entering it into a computer and "only found 13 more bugs" (or
something like that), once he did. I don't remember if it was 13
exactly, but "13 more bugs" might be the closest that any programmer
gets to Mozart, or at least any programmer in the 20th or early 21st
century.

But, can you imagine waking up in the middle of the night, sitting
down, and writing a compiler from start to finish? Well, of course,
easily, undergrads do it all the time during finals period. But, one
that works, and that contains original ideas? I know some awesome
programmers, but I don't think any of them are quite that awesome.
Whereas it's conceivable to imagine somebody writing a piece of music
that way, or a poem. Does that just mean that computer science has a
long way to go in maturation? Or does it mean something else?


PS  I like the idea of a book "Hakell for Hackers"



Maybe "Haskell for People Who Want to Be Hackers"? (Since, of course,
one should never apply the term "hacker" to oneself.) I'm not sure
whether it's best to aim at people who might be already hackers who
want to learn Haskell, or people who are already programmers who want
to be Haskell hackers, in particular. I suppose that the first group
of people is probably larger.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"What is research but a blind date with knowledge?" -- Will Henry
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Aim Of Haskell

2006-12-12 Thread Kirsten Chevalier

On 12/12/06, Kaveh Shahbazian <[EMAIL PROTECTED]> wrote:

So you still want to pay your developers for checking "NULL" values,
correctness of "INTERFACES", writing "IF ELSE" and "SELECT CASE"s full of
side effect and junks (Something that can be simply implemented by "Pattern
Matching"), continuing OO world that has not even a accurate calculus for
describing things (and came from industrial engineering), code that may
crash through exceptions and very stupid-complex execution paths, checking
array out-of rang things, handling and passing and dereferencing pointers
correctly...H! Just calculate that how % of developer's time
is being consumed by this stupid tasks? You know; this will be a big-bang
for commercials! (If their stupid consultants can understand).


Yes. It's always hard to convince people that they've been doing
something the wrong way, though. "People" includes smart academic
types, sometimes, too. I think you're absolutely right, but if you
have ideas for what to say in those commercials, you can post them
here :-)

And of course it's not quite as simple as "people have been doing it
the wrong way", because sometimes there are reasons even for the kinds
of code that look the most horrible on the surface. Functional
programming people have a reputation for arrogance -- whether that
impression is fair or not and whether that arrogance is merited or
not, the impression exists, and some people find it a turn-off. Avoid
being the overenthusiastic convert.


I am a usual developer, not smart and academic as you, and not as stupid
ones to pretend to know something better than all. Even this kind of
programming still is very hard for me. I am still struggling with monads and
monad transformers! So I am choosing the hard path - even very hard one.
Why? Because I am sure every mean developer like me can be productive in
functional programming in 6 to 12 months. And imagine that huge bunch of
stupid things that we are handling everyday : Just wast of life and money
without any joy and honor.
This is my vision : FIVE YEARS ...


I hope so! And I think if you got to know at least *some* of the smart
and academic types, you would find that they struggle sometimes too.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"What is research but a blind date with knowledge?" -- Will Henry
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Trivial database access in Haskell

2006-12-11 Thread Kirsten Chevalier

Now you're getting somewhere! (Even though it may not seem like it.)
At this point, this is probably a better place to ask:
http://www.haskell.org/cabal/
In particular, it says where to ask questions. I haven't used Cabal
much myself and I suspect that the people who know about Cabal are
more likely to notice your question if you ask somewhere other than on
this list, which is noisy.

Good luck.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"I'm sick of my genitalia being used as an insult. Are you?" -- Bitch and
Animal
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

G'day all.

Quoting Kirsten Chevalier <[EMAIL PROTECTED]>:

> I suppose I should have clarified that I meant a dead-trees book with
> a real publisher, [...]

Something more like this, then:

http://phptr.com/perens

Maybe we should come up with an outline and a sample chapter or two, then
talk to Bruce?


That looks interesting. I'm not sure we fit in, but then, I'm not sure
whether this idea fits in, as such, anywhere. I think there are a few
things to figure out before we get to the point of writing an outline,
but it's a reasonable thing to write in any case.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"in a recent future, this is past" -- James Keelaghan
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Trivial database access in Haskell

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Paul Moore <[EMAIL PROTECTED]> wrote:

The point I was trying (badly!) to make was that without sample code
on how to do "trivial" queries, I can't work out which library is
closest to what I want. And without installation instructions, I can't
try them out.



Well, if anyone has that sample code, someone who is reading this
mailing list probably does. But if you can't find even simple sample
code, that's probably a sign that not a lot of people have tried to
write large database applications in Haskell using the existing
libraries, or at all. I may be wrong, but I suspect that that's true.
Somebody has to be first.

So this is your cue to RTFS. And I'm trying to say "RTFS" in the
nicest possible way in which I can say it. With an "F" that stands for
"friendly" although I suspect that the code is going to look to you
like anything but.


This is my first real experience with trying to obtain and use a 3rd
party library with Haskell, so I apologise if these are newbie-level
dumb issues. I'm not trying to complain, but I do suspect there is an
issue here with easy library availability that the Haskell community
could look at. Python was in a similar situation for a long time, and
I suspect it's just a bit further down the track. Certainly from what
I've seen of Cabal, it's similar in philosophy to Python's distutils.
But this is going off on a tangent - maybe I'll revisit it when I've
got some more experience under my belt with installing DB libraries
:-)


Don't apologize; you're not being dumb. But, you have to realize that
if you're using Haskell at all, you *are* the Haskell community.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"...I thought the secret of life was obvious: be here now, love as if your whole
life depended on it, find your life's work, and try to get hold of a giant
panda." -- Anne Lamott
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

I think this might be a good time to step back and make some general
comments of my own.

I learned Haskell in the summer of 2000. I see that that's exactly
when SOE was published. I didn't have a copy. (I did acquire a copy of
SOE about two years later, when I didn't need it anymore :-) I did
have another book whose name I won't mention that I didn't find
entirely helpful (I won't mention its name since I don't remember
entirely for sure which book it was).

I remember sitting in a windowless office trying to figure out why I
couldn't seem to find any function that had the type IO a -> a. I'm
thinking about that now because I hope to be able to not forget what
it was like to be in that frame of mind. I'm sure SOE answers that
question early on. But newbies on #haskell still ask it pretty often
anyway. Obviously, there will always be people who don't know how to
pick up a book, but on the other hand, I don't think that the problem
of how to explain Haskell to beginners is solved yet.

So the book that I want to write, hopefully with help from a few other
people (maybe some of the people who've been contributing to the
discussion so far, maybe others) would be aimed at a beginner (not a
beginning programmer, but someone who's starting *perhaps* because
they want to contribute to an open-source project that's written in
Haskell, because there are such projects now that aren't Haskell
compilers) who wants to get to the point where they can get real work
done. And I'm not thinking of it as a textbook. Maybe this is way too
ambitious. But I know that I managed to get from wondering where the
IO a -> a function was to writing my own monad transformers, mostly by
fumbling around in the dark, and I can't help thinking that there
might be a possible book that would -- if not make it that much
*easier* for somebody else to do the same -- at least allow *more*
people to do the same.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"and the things I'm working on are invisible to everyone"--Meg Hutchinson
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Trivial database access in Haskell

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Paul Moore <[EMAIL PROTECTED]> wrote:

I've looked at the various database access libraries for Haskell, but
they all seem to be missing a couple of key pieces if I want to use
them:

1. Simple documentation of how to install the library (starting from a
vanilla GHC installation on Windows, plus Oracle software, to the
point where I can use the library in my code). All I need is Oracle
access, so other database client libraries can be ignored. I'd rather
not use ODBC, but will if required.

2. Simple examples on how to actually run a query. For example, how do
I code the follwing SQL*Plus code (should be pretty self-explanatory)
in Haskell:

connect scott/[EMAIL PROTECTED]
select * from emp;

(Connect to the database "mydb" as user "scott", password "tiger", and
issue the query "select * from emp"). Ideally, I'd like the Haskell
code to not be *too* much more verbose than this (although I can
accept that Haskell, beng a general language, won't be able to be
quite as concise as a special tool can manage).

Without this basis, I don't really have a way to evaluate the various
libraries available...



This is when you write that documentation :-) And I say that without
knowing anything about any of the Haskell database libraries -- I just
suspect that if you can't find any good documentation for them, that's
your cue to write it.

This might not seem like a helpful answer, but often it's the best
answer anyone can give. I realize that you only have so many hours in
the day, but only a few people get paid to work on Haskell full-time.
So if you really wanted to find out whether the existing libraries
would work for your purposes, try it, and write up what you found so
that other people can benefit from it.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"We used to say that our love was like hemp rope / Three times as strong as the
rope that you buy domestically." -- Dar Williams
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re: Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Andrew Wagner <[EMAIL PROTECTED]> wrote:

Ok, well I think we can all agree that such a book is a good idea. I
suggest we take the discussion to some kind of collaboration tool.
It's pretty hard to do just on this mailing list. There are a lot of
options, such as finding a forum somewhere, creating a wiki book
somewhere and having a mailing list too, using google's collaborative
authoring tool, or whatever. Suggestions?



Yes, I think it's quite clear now that there's enough interest in
this, and we shouldn't get distracted by the licensing equivalent of
bikeshed-coloring. I should have enough web hosting space to set up a
wiki and a mailing list for discussion, so I'll go ahead and do that
sometime over the next couple of days, and follow up here.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Science fiction is not predictive; it is descriptive."--Ursula K. Le Guin
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Andrew Wagner <[EMAIL PROTECTED]> wrote:

Well, I'm not opposed at all to a written final form. I guess I just
don't see that and using a wikibook to assist in our collaboration as
mutually exclusive.


I think the confusion is my fault. I assumed that you (if it was you
who originally used the word "wikibook"... it's been a long day) meant
wikibook as in the Wikimedia Foundation Wikibooks site, but it seems
you meant it as a generic term instead. Sorry.


Anyway, I'd love to help in any such project. By
the way, I seem to be messing up the threads. What is considered the
"correct" way to reply to a particular thread? I've been copying and
pasting the subject line and writing to [EMAIL PROTECTED]


I think if you're going to do that, you also need to copy the
cross-reference headers, and I don't know if Gmail lets you do that.
(I gave up on trying to make that work, and got out of digest mode :-)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"If you try to solve a hard problem, the question is not whether you will use a
powerful enough language, but whether you will (a) use a powerful language, (b)
write a de facto interpreter for one, or (c) yourself become a human compiler
for one." -- Paul Graham
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Matt Revelle <[EMAIL PROTECTED]> wrote:

What do you mean by "real publisher"?  As long as the quality of the
final product is good, does it really matter what publishing company
has their name stamped on it?



It matters to me; if I'm going to put work into this, then that's what
I want the result to be. I'm happy, of course, for projects that I am
not involved in to use whatever publishing mechanisms that the people
involved in those projects prefer.

If you want to help with the writing project that I have in mind, then
discuss that on the list. If you want to start another writing project
whose primary goal is to produce an open-content, electronic book,
then announce that on the list too. If you want to debate the merits
of open-content versus traditional publishing, well, I'd love to have
that debate too, but this list probably isn't the right forum for
that.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"There are many places in computer science where it's actually helpful to
procrastinate." -- Eric Brewer
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Andrew Wagner <[EMAIL PROTECTED]> wrote:

Well, perhaps if nothing else, we could use a wikibook to
collaboratively work on the structure of such a book, and then from
that you could publish a "real" book. I don't really know the legal
issues, though. I am thinking of several books though which have been
written and released both as full paper books, and as free digital
books. Could we do something similar?


I definitely think using a wiki to work on the book would be a good
idea. I just wouldn't want to imply that that meant it would
necessarily be a public wiki or that it would be around forever. The
legal issues are basically that publishers don't want to publish books
that people can get for free off the web (whether or not you agree
with this logic). There are exceptions to this, like Lessig's _Free
Culture_, but it's my impression that they usually involve authors who
have enough sway that publishers will let them get away with whatever
they want.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Who needs reasons when you've got the root password?"[EMAIL PROTECTED]
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Matt Revelle <[EMAIL PROTECTED]> wrote:

A quick search turned up Lulu (http://www.lulu.com/).

>From the Lulu site:
"Publish and sell easily within minutes.
No set-up fees. No minimum order.
Keep control of the rights.
Set your own price.
Each product is printed as it is ordered.
No excess inventory."

Looks like they offer hardcover and paperback and are fine with
"open-source" books.



I suppose I should have clarified that I meant a dead-trees book with
a real publisher, but again, if other people want to organize
something different based on this thread, they should go ahead! I can
only do so much :-)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"...There is no mystery; there is only paradox, the incontrovertible union of
contradictory truths." -- Edward Abbey
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Andrew Wagner <[EMAIL PROTECTED]> wrote:

I think there are some great ideas here, and it would be a fantastic
project to do as a community, via a wikibook. I, for one, have been
studying haskell for several months, and am just starting to see a
little bit of light when it comes to monads. I think it would be
beneficial to work through a non-trivial construction of a new monad,
and the larger examples given would be good opportunities to do that.



If you (or anyone else who's been participating in the discussion, or
anyone else) would like to do a wikibook, that would be great.
Personally, I'd like to write / be involved in organizing the writing
of a dead-trees book. (In theory, it could be both, but it seems to me
like short of being Larry Lessig, there's not really a way to get a
publisher to publish something that's already released under a free
documentation license -- but correct me if I'm wrong.)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"There's no money in poetry, but there's no poetry in money, either."
--Robert Graves
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, Patrick Mulder <[EMAIL PROTECTED]> wrote:

In my opinion it would be important to increase the
understanding about "semantics" and "processes". And
it would be good to introduce the concepts in a
similar way as Profokiev introduces the sound of
classical music in "Peter and the Wolf". If my
suspicion is correct, functional programming would be
very close to composing classical music (or concurrent
algorithms and processes). Has anyone of you similar
thoughts on music and programming ?  What are the
basic ingredients for making abstractions (like in
music rythm, keys, tempo, ...) ? It would be useful to
express different ways of expression by explaining
first "semantics" of processes and abstractions.



I love the analogy, though it's been at least eleven years since I
tried to compose any music. (Coincidentally, eleven years ago was when
I learned to program...)

I've often thought that reading code (if it's well-written code) is a
little like reading a poem, which of course is also a little like
listening to classical music. There's certainly a sense of rhythm
involved in how you choose variable names: that's why nobody likes
variable names like
theHashTableThatStoresMappingsBetweenNamesAndEmails.

I'm not sure what the analogy with keys would be. Maybe writing in a
point-free versus a pointed style is sort of like transposing a melody
into another key.

For the potential book, I definitely think a Peter-and-the-Wolf-like
idea is good. (The wolf would be unsafePerformIO, obviously.) Probably
any metaphors that assume any knowledge of music should be left for a
different piece of writing that assumes a different audience, but
pursuing it would be fun. I've been thinking a lot lately about how to
present computer science (and programming languages) to a popular
audience, too. I don't remember who originally posed the question of
"who's going to be the Carl Sagan of computer science?", but it's a
question somebody should try to answer. (The answer isn't "Douglas
Hofstadter", because obviously somebody needs to be out there
explaining why languages with static type systems are cool, too.)

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Are you aware that rushing toward a goal is a sublimated death wish? It's no
coincidence we call them 'deadlines'." -- Tom Robbins
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

2006-12-11 Thread Kirsten Chevalier

It's not as if this is the first time that this has been suggested,
but some people have suggested that a practical book about Haskell
would be a good idea. I agree. Some people have also suggested that
the right moment for this hasn't arrived yet, and I see that as a
challenge.

I'm willing to take the lead in at least thinking about what such a
book might look like. I'm potentially about to have some free time for
such things, and am still young and foolish enough to think that
writing a book would be a good idea.

Of course, there are many good Haskell books out there already, but
many of them are intended as class textbooks or are aimed at more
theoretical-minded people. There's nothing wrong with that, but I
think that it would be nice if a friendly, conversational, informal
book about Haskell existed, since after all this is such a friendly
and informal community. (If there already is a book like this, point
it out, but I get the impression there's not.)

There's also excellent Haskell documentation available on the web
already, but people like to buy books and they like to have an
artifact that they can hold in their hands without getting laser
printer toner all over themselves.

But if I were going to do this, I'd need all the help I could get, so
if you're interested in working with me on this, email me off-list and
we'll talk. Don't feel like you need to be named "Simon" for this; I
don't think you need to be a Haskell guru to contribute to a book like
this (I know I'm not one), though it wouldn't hurt. Being interested
in good writing and explaining things to a wider audience is more
important. And, the more people who are interested in working on this,
the more we can all pool our various talents to create something
awesome.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"Everyone's too stupid." -- _Ghost World_
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Haskell-Cafe Digest, Vol 40, Issue 27

2006-12-11 Thread Kirsten Chevalier

On 12/11/06, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:

Message: 2
Date: Mon, 11 Dec 2006 08:18:44 +0100
From: Andy Georges <[EMAIL PROTECTED]>
Subject: Re: [Haskell-cafe] Aim Of Haskell
To: Haskell-cafe 
Message-ID: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed

Hi,

> one particular thing that we still lack is something like book
> "Haskell in
> real world"

We need a 'Dive into Haskell' book.



"Head First Haskell"? Or perhaps it should be "unsafeHead First Haskell".

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"The miracle of life is that, despite the best grip we can get on reality, it
continuously manages to surprise us. The beauty of science is that,
notwithstanding all our tacit assumptions, these surprises can get through."
--Evelyn Fox Keller
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Haskell-Cafe Digest, Vol 38, Issue 22

2006-10-11 Thread Kirsten Chevalier

On 10/11/06, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:


Meanwhile, if you want to use External Core, but can't because it
doesn't work properly for you, don't be afraid to yell.  (E.g. File a
Trac bug report.)   I don't want to promise an immediate fix, but the
more people that use it the keener we are to get it done.



I did file a bug on this nine months ago:
http://hackage.haskell.org/trac/ghc/ticket/670
but haven't had a chance to work on it.

Cheers,
Kirsten

--
Kirsten Chevalier * [EMAIL PROTECTED] * Often in error,
never in doubt
"That's the thing about people who think they hate computers.  What they
really hate is lousy programmers."-- Larry Niven and Jerry Pournelle
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe