
30 Dec
2007
30 Dec
'07
1:09 a.m.
Hello, Here is a code snippet: type Resource = TVar Int putR :: Resource -> Int -> STM () putR r i = do { v <- readTVar r; writeTVar r (v + i) } getR :: Resource -> Int -> STM () getR r i = do { v <- readTVar r; if (v < i) then retry else writeTVar r (v-i)} createR :: Int -> STM (Resource) createR i = newTVar i main = do {atomic (r <- (createR 1); putR r 1)} Strangely I am not getting a type error rather a syntax on the "<-" in main. ?? Kind regards, Vasya