diff options
author | Chris Wendt <chrismwendt@gmail.com> | 2022-06-08 03:15:50 -0600 |
---|---|---|
committer | Chris Wendt <chrismwendt@gmail.com> | 2022-06-08 03:15:50 -0600 |
commit | ea580b2c20a5e26e68c8f1d111bbe3adfb3e54d9 (patch) | |
tree | 341f334699460675b20bb8f8587d4610762175aa /doc.go | |
parent | remove unused varSnapshot (diff) | |
download | stm-ea580b2c20a5e26e68c8f1d111bbe3adfb3e54d9.tar.gz stm-ea580b2c20a5e26e68c8f1d111bbe3adfb3e54d9.tar.xz |
update README
Diffstat (limited to 'doc.go')
-rw-r--r-- | doc.go | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -69,11 +69,9 @@ behavior. One common way to get around this is to build up a list of impure operations inside the transaction, and then perform them after the transaction completes. -The stm API tries to mimic that of Haskell's Control.Concurrent.STM, but this -is not entirely possible due to Go's type system; we are forced to use -interface{} and type assertions. Furthermore, Haskell can enforce at compile -time that STM variables are not modified outside the STM monad. This is not -possible in Go, so be especially careful when using pointers in your STM code. -Remember: modifying a pointer is a side effect! +The stm API tries to mimic that of Haskell's Control.Concurrent.STM, but +Haskell can enforce at compile time that STM variables are not modified outside +the STM monad. This is not possible in Go, so be especially careful when using +pointers in your STM code. Remember: modifying a pointer is a side effect! */ package stm |