From 9330d0515cb2e4c329ead95c011ec3890492854e Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Thu, 10 Sep 2020 09:21:24 +1000 Subject: Update README.md --- README.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1906dcd..18455bd 100644 --- a/README.md +++ b/README.md @@ -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. -- cgit v1.2.3