RE: AW: slide: useful function?

2002-12-02 Thread Christopher Milton

--- Mark Carroll <[EMAIL PROTECTED]> wrote:
> On Mon, 2 Dec 2002, David Bergman wrote:
> (snip)
> > Till then, we "Haskellers" will probably continue expressing our
> > patterns either directly in Haskell or using highly formal language,
> > with terms such as "catamorphisms".
> >
> > The virtue, and weakness, of traditional design patterns is their
> > vagueness and informal character, making them (1) comprehensible to the
> > 90% of the developer community not familiar with category theory but (2)
> (snip)
> 
> If there are any good ways in which non-mathematicians can get to grips
> with these terms from category theory, they would be well worth promoting.
> For example, despite having a good computer science degree (in which I was
> at least introduced to FP, proof, etc. and even learned to draw the dual
> graph of hypercubes) I'm really not equipped to understand catamorphisms
> in terms of algebras and homomorphisms, and don't currently have time to
> take the math degree I fear I'd need in order to do so. Last time I was
> looking at category theory books I think I came to the conclusion that
> Lawvere and Schanuel cover things kindly but Pierce seemed to get the
> syllabus right, so the "right" book wasn't quite out there.
> 
> My understanding of monads is already a matter of record. Does anyone know
> of a friendly text that might help new Haskellers to understand functors,
> etc. and what they mean for program design? I'm not averse to the formal
> language per se if it can be easily acquired; right now, I worry that I'm
> using Haskell suboptimally because, not only do I not know the terminology
> well, but I fear that I'm not even cognisant of the concepts that these
> terms represent.
> 
> In a nutshell: if these category theory concepts indeed have an important
> impact in Haskell land, how to introduce them to working Haskell
> programmers well enough that they can use them in engineering software
> that's at least half as good as it could be?
> 
> (I'm making the assumption here that it would be good for Haskell to be
> much more widely used - it shouldn't solely be for researchers.)

Here's some of what I've come across:

Jonathan M. D. Hill, and Keith Clarke
"An introduction to category theory, category theory monads, and their
relationship to functional programming"
ftp://ftp.dcs.qmw.ac.uk/cpc/jon_hill/qmw681.ps.Z
http://www.dcs.qmul.ac.uk/SEL-HPC/Articles/GeneratedHtml/functional.monads.html

Tom Leinster's Part III Category Theory course given in Cambridge in the
academic year 2000-2001:
http://www.dpmms.cam.ac.uk/~leinster/categories/

John Baez
Categories, Quantization, and Much More
http://math.ucr.edu/home/baez/categories.html
(see the links at the bottom of this page, too.)

Baez also has interesting info in his series,
This Week's Finds in Mathematical Physics
http://math.ucr.edu/home/baez/TWF.html

Chris

=
Christopher Milton
[EMAIL PROTECTED]

__
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



RE: AW: slide: useful function?

2002-12-02 Thread Mark Carroll
On Mon, 2 Dec 2002, David Bergman wrote:
(snip)
> Till then, we "Haskellers" will probably continue expressing our
> patterns either directly in Haskell or using highly formal language,
> with terms such as "catamorphisms".
>
> The virtue, and weakness, of traditional design patterns is their
> vagueness and informal character, making them (1) comprehensible to the
> 90% of the developer community not familiar with category theory but (2)
(snip)

If there are any good ways in which non-mathematicians can get to grips
with these terms from category theory, they would be well worth promoting.
For example, despite having a good computer science degree (in which I was
at least introduced to FP, proof, etc. and even learned to draw the dual
graph of hypercubes) I'm really not equipped to understand catamorphisms
in terms of algebras and homomorphisms, and don't currently have time to
take the math degree I fear I'd need in order to do so. Last time I was
looking at category theory books I think I came to the conclusion that
Lawvere and Schanuel cover things kindly but Pierce seemed to get the
syllabus right, so the "right" book wasn't quite out there.

My understanding of monads is already a matter of record. Does anyone know
of a friendly text that might help new Haskellers to understand functors,
etc. and what they mean for program design? I'm not averse to the formal
language per se if it can be easily acquired; right now, I worry that I'm
using Haskell suboptimally because, not only do I not know the terminology
well, but I fear that I'm not even cognisant of the concepts that these
terms represent.

In a nutshell: if these category theory concepts indeed have an important
impact in Haskell land, how to introduce them to working Haskell
programmers well enough that they can use them in engineering software
that's at least half as good as it could be?

(I'm making the assumption here that it would be good for Haskell to be
much more widely used - it shouldn't solely be for researchers.)

-- Mark

___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



RE: Implementing forward refs in monadic assembler and interprete r

2002-12-02 Thread Ashley Yakeley
At 2002-12-02 00:37, Simon Peyton-Jones wrote:

>Main things in the next major release are
>   mdo
>   Template Haskell

Can mdo be done in TH? It would be nice if there were some kind of macro 
system for this sort of thing; I know there's also a syntax for Arrows 
that requires a preprocessor...

-- 
Ashley Yakeley, Seattle WA

___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe



RE: Implementing forward refs in monadic assembler and interprete r

2002-12-02 Thread Simon Peyton-Jones

| For the moment I've chosen to do the mdo desugaring manually instead
| of moving to the CVS ghc (or exclusively using Hugs.)  Will mdo be in
| the next release?  (That's 5.04.2, I think -- though I've recently
| been confused about GHC releases.)  The relevant revision to Lex.lhs
| is pretty recent and doesn't seem to be on ghc-5-04-branch.

mdo won't be in 5.04.2; these patch releases are meant to be bug fixes
only.

As I mentioned in an earlier message, we are undecided about when to
invest the effort to make another major release.   The more people that
yell, the sooner we will do it!  Main things in the next major release
are
mdo
Template Haskell
a fairly major fix to the newtype-deriving mechanism (it's 
a bit broken in 5.04)

Simon
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe