diff options
author | Matt Joiner <anacrolix@gmail.com> | 2020-09-10 09:21:24 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-10 09:21:24 +1000 |
commit | 9330d0515cb2e4c329ead95c011ec3890492854e (patch) | |
tree | a44047b5be7676f9ac39cff7f91527590578699c | |
parent | Reduce more allocations (diff) | |
download | stm-9330d0515cb2e4c329ead95c011ec3890492854e.tar.gz stm-9330d0515cb2e4c329ead95c011ec3890492854e.tar.xz |
Update README.md
-rw-r--r-- | README.md | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -15,9 +15,6 @@ 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. -Another significant departure is that `stm.Atomically` does not return a value. -This shortens transaction code a bit, but I'm not 100% it's the right decision. -(The alternative would be for every transaction function to return an `interface{}`.) Unlike Haskell, data in Go is not immutable by default, which means you have to be careful when using STM to manage pointers. If two goroutines have access @@ -27,7 +24,7 @@ this, either use immutable data structures, or replace pointers with STM variables. A more concrete example is given below. It remains to be seen whether this style of concurrency has practical -applications in Go. If you find this package useful, please tell me about it! +applications in Go. If you find this package useful, please tell us about it! ## Examples @@ -190,4 +187,4 @@ BenchmarkReadVarChannel-4 10000 240086 ns/op ## Credits -Package stm was [originally](https://github.com/lukechampine/stm/issues/3#issuecomment-549087541) created by lukechampine.
\ No newline at end of file +Package stm was [originally](https://github.com/lukechampine/stm/issues/3#issuecomment-549087541) created by lukechampine. |