[Haskell-cafe] RE: TChan implementation: Why TVarList

Simon Peyton-Jones simonpj at microsoft.com
Tue Dec 6 06:31:32 EST 2005


The mutable cell is in the tail.  A [TVar a] would be quite different.
You can read about a very similar impl (based on MVars) in the original
"Concurrent Haskell" paper (on my papers page)

S

| -----Original Message-----
| From: Joel Reymont [mailto:joelr1 at gmail.com]
| Sent: 06 December 2005 11:28
| To: Simon Peyton-Jones
| Cc: Haskell Cafe
| Subject: TChan implementation: Why TVarList
| 
| Simon,
| 
| Why did you guys implement TChan on top of your own TVarList instead
| of a regular list?
| 
| -- | 'TChan' is an abstract type representing an unbounded FIFO
channel.
| data TChan a = TChan (TVar (TVarList a)) (TVar (TVarList a))
| 
| type TVarList a = TVar (TList a)
| data TList a = TNil | TCons a (TVarList a)
| 
| 	Thanks, Joel
| 
| --
| http://wagerlabs.com/
| 
| 
| 
| 



More information about the Haskell-Cafe mailing list