Concurrency (was: Re: [GUI] Re: events & callbacks)

Alastair Reid alastair@reid-consulting-uk.ltd.uk
Thu, 13 Mar 2003 13:14:00 +0000


Daan Leijen <daanleijen@xs4all.nl> writes:
> I therefore propose another rule:

> 2d) All haskell code is run in a single OS thread (the "GUI
> thread"). Calls to the CGA can be made at any time from any Haskell
> thread (within the GUI thread).

I don't think the GUI design needs to talk about this because which OS
thread is executing Haskell code is not observable*.  The only way
that a particular OS thread is observable is which OS thread executes
foreign code.  This issue is being addressed by the FFI group and I
think we're converging on a solution.

--
Alastair Reid                 alastair@reid-consulting-uk.ltd.uk  
Reid Consulting (UK) Limited  http://www.reid-consulting-uk.ltd.uk/alastair/

* This is a slight overstatement.  It is possible to observe which OS
  thread is doing what using things akin to 'system "/bin/ps aux"' but
  such "observations" don't seem to be relevant here.