[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The problem(s) with threads



Rick Beton <rick.beton@xxxxxxxxx> writes:

> Received wisdom is that anything missing from a language can suitably
> be provided via a library.

Hans Boehm wrote a paper about that:
  http://portal.acm.org/citation.cfm?doid=1065010.1065042

(He's writing from a shared-memory perspective, but his points are
equally valid for message-passing approaches, if we want to be able to
execute our programs in parallel.)

On the other hand, I think it's likely that over the next few years
we'll see languages being developed that have sufficiently powerful type
systems to allow the safety properties of a concurrent program to be
statically verified.  We're not there yet, though.  I'm thinking here of
languages like Agda that blur the distinction between conventional and
type-level programming, which mean that the kinds of static checks we
currently build into our compilers can instead be expressed in the
language itself.  As we've seen with Haskell, the challenge isn't so
much expressing the checks as producing useful error messages when they
fail...

-- 
Adam Sampson <ats@xxxxxxxxx>                         <http://offog.org/>