Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it really STM? #2

Open
graninas opened this issue May 4, 2018 · 3 comments
Open

Is it really STM? #2

graninas opened this issue May 4, 2018 · 3 comments

Comments

@graninas
Copy link

graninas commented May 4, 2018

* Pure functional STM using a free monad to hide the underlying Scala STM. Refs and transaction

Hello, I'm curious if this is actually a real STM. I see atomic evaluation, but I don't see conflicts resolving. Not sure if the behavior of real STM holds here. Could you please clarify?

I found the same approach to STM with Free monads independently and then googled your code, but my STM follows the straightforward definition of STM and thus can be considered well-behaving:

https://github.com/graninas/stm-free

Also, it differs from other STMs by declaring a context explicitly. This is good because many optimizations can utilize some additional knowledge came with different contexts. Also, you can have separate "clusters" of independent STM models.

I'm still working on the library, so you might find it not that rich and mature as original Haskell's STM.

@graninas
Copy link
Author

graninas commented May 7, 2018

Ok, disregard. It seems you just wrapped Scala STM into free monad interface.

@ghost
Copy link

ghost commented Sep 13, 2020

Did you know the answer after 2 years?

@graninas
Copy link
Author

@asimo10 Me? I don't think so...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant