On 7/9/07, Conor McBride <ctm@cs.nott.ac.uk> wrote:
Hi all

On 9 Jul 2007, at 06:42, Thomas Conway wrote:

> I don't know if you saw the following linked off /.
>
> http://www.itwire.com.au/content/view/13339/53/

[..]

> The basic claim appears to be that discrete mathematics is a bad
> foundation for computer science. I suspect the subscribers to this
> list would beg to disagree.

It's true that some systems are better characterised as corecursive
"coprograms", rather than as recursive "programs". This is not a
popular or well-understood distinction. In my career as an advocate
for total programming (in some carefully delineated fragment of a
language) I have many times been gotcha'ed thus: "but an operating
system is a program which isn't supposed to terminate". No, an
operating system is supposed to remain responsive. And that's what
total coprograms do.

I'm sorry, but can you expand a little further on this?  I guess I don't understand how a corecursion => responsive to input but not terminating.  Where does the idea of waiting for input fit into corecursion?