categories - Category Theory list
 help / color / mirror / Atom feed
From: Robin Cockett <robin@ucalgary.ca>
To: categories@mta.ca
Subject: Re: Functions in programming
Date: Tue, 17 Mar 2009 17:06:38 -0600	[thread overview]
Message-ID: <E1Ljv4y-0004Lh-Rs@mailserv.mta.ca> (raw)

Vaughan Pratt wrote:
> The categories mailing list is a good one for this sort of discussion ...
So here is some (gentle) push-back for Vaughan ...

BTW thank you everyone for pointing out that /everything/ I said was
wrong/right!   There really are underlying serious pedagogical and
practical issue behind this ... typified by the comment.

> Thorsten Altenkirch wrote:
> > There really shouldn't be a difference between the functions in
> > Mathematics and in Computer Science, especially functional programming.
>
The fact that nothing is quite what it "should be" in what has become
the/a leading functional language is  bothersome on the one hand for
students struggling to develop a (unified) mathematical view and,
simultaneously  exciting for researchers who now have to find out which
(!?!@!) category one is actually working in ... the fact that the answer
is not an entirely simple (I do like Vaughan's "nuanced"!) is cause
simultaneously for (pedagogical) concern and (researcher) delight.

This reflects a general tension between semantics and implementation and
the tussle over which is to be the cart and which is to be the horse.
As it happens (I recall) one of the motivations behind Haskell was to
produce a /lazy/ functional language and so a significant focus was
actually on the implementation side ... perhaps at some semantical cost?

Vaughan comments:
> There should be differences within Mathematics and within Computer
> Science, and therefore between them.
I confess -- in this context -- what springs (uncalled) to mind is the
(modified) comment of Chairman Mao: Computer Science is the continuation
of Mathematics by other means!   ... and sometimes the balance between
what /should/ be done and what /can/ be done is pushed too far.  At what
stage this becomes a "bug" -- as Thorsten bluntly puts it -- definitely
should be up for debate.  And there is no doubt in my mind that in
making this judgment the clarity of the underlying (categorical)
semantics adds an important perspective .... and even should be
prescriptive.

Semantics does have some "real" effects: the semantics that a programmer
has in mind and what is actually implemented by a language/API can be
rather different ... and this can become particularly subtle as
languages become more abstract (and peculiar) and are built on top of
each other.  Through these gaps can lie some very unexpected behaviors!

Vaughan comments:
> 2.  One should not assume that mathematics has the answer to every
> practical problem.
Oft quoted John Arbuthnot commented (some time ago!):
"There are very few things which we know, which are not capable of being
reduced to a Mathematical Reasoning; and when they cannot it's a sign
our knowledge of them is very small and confused; and when a
Mathematical Reasoning can be had it's as great a folly to make use of
any other, as to grope for a thing in the dark, when you have a Candle
standing by you."

It really is hard to say more :-)  ... but maybe "candle" should be
replaced "compact florescent light bulb"?

-robin




             reply	other threads:[~2009-03-17 23:06 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-17 23:06 Robin Cockett [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-03-21 16:06 Bill Lawvere
2009-03-20 21:18 Robin Cockett
2009-03-19 15:37 Peter Selinger
2009-03-19 15:37 Peter Selinger
2009-03-19 14:18 Peter Selinger
2009-03-19 14:11 MigMit
2009-03-19  2:32 Robin Cockett
2009-03-18 15:34 Bill Lawvere
2009-03-17  5:17 Nathan Bloomfield
2009-03-16 15:12 Andrew Stacey
2009-03-16 11:37 Miles Gould
2009-03-16  9:27 Tom Hirschowitz
2009-03-16  5:52 Vaughan Pratt
2009-03-16  4:25 Daniel Schüssler
2009-03-15 23:55 Thorsten Altenkirch
2009-03-15 22:18 Robin Cockett
2009-03-14 19:52 Ellis D. Cooper
2009-03-14 17:39 Thorsten Altenkirch
2009-03-14 14:58 Steve Stevenson
2009-03-14 14:51 Miguel Mitrofanov
2009-03-14  9:51 Luis Barbosa
2009-03-14  6:02 Vaughan Pratt
2009-03-14  3:38 Fred E.J. Linton
2009-03-14  3:22 Michael Shulman
2009-03-14  2:21 Charles Wells
2009-03-13 11:29 Andrew Stacey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1Ljv4y-0004Lh-Rs@mailserv.mta.ca \
    --to=robin@ucalgary.ca \
    --cc=categories@mta.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).