Use of STM in business?

From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting? Thanks, Tom

Hi Tom, I can't share much code yet, but I have build a small service that run in production which tail the mongodb log and convert this to rabbitmq event, it's built entirely on the STM and give pretty performance. FWIW, it works very well, stable and stuff. Cheers On 9 February 2015 at 12:19, Tom Ellis < tom-lists-haskell-cafe-2013@jaguarpaw.co.uk> wrote:
From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
Thanks,
Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- *Λ\ois* http://twitter.com/aloiscochard http://github.com/aloiscochard

Hi Tom. Pretty much anywhere in your program where you have a state, shared by multiple threads, and which's consistency gets more complex than the one that's operated by few atomic operations, you might get benefit from using STM. For example, I have a web app that needs to operate fast (e.g. from memory), that's why it has few HashMaps used as a cache. Those HashMaps need to be consistent with each other, e.g. you need to modify them both simultaneously to keep data "synced" between them. STM solves this great, as each of HashMaps is wrapped by TMVar, so update just uses an STM transaction to update both of them. While reads often need to read only one of these HashMaps, that's why putting all of them under single MVar would be a worse idea. Hope this clarifies use-case a bit. Thanks. On Mon, Feb 9, 2015 at 1:19 PM, Tom Ellis < tom-lists-haskell-cafe-2013@jaguarpaw.co.uk> wrote:
From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
Thanks,
Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

We use STM for various things, one of which is our in memory graph
database. It's not open source, but it's a core part of our business.
We also use it in other places for small bits of shared state, both in
public facing (web) applications and development tools. Let me know if
you want any further details.
Erik
On Mon, Feb 9, 2015 at 12:19 PM, Tom Ellis
From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
Thanks,
Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Tom,
I used STM in an Haskell web application that was in production (it is
now defunct). We used it in the implementation of a custom document
store.
Francesco
On 9 February 2015 at 12:51, Erik Hesselink
We use STM for various things, one of which is our in memory graph database. It's not open source, but it's a core part of our business. We also use it in other places for small bits of shared state, both in public facing (web) applications and development tools. Let me know if you want any further details.
Erik
On Mon, Feb 9, 2015 at 12:19 PM, Tom Ellis
wrote: From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
Thanks,
Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Tom
We make extensive use of it in “realtime” network performance analysis.
As has been said, the ability to both share state and co-ordinate serial/parallel flow of
control is key.
Neil
On 9 Feb 2015, at 12:20, Francesco Mazzoli
Hi Tom,
I used STM in an Haskell web application that was in production (it is now defunct). We used it in the implementation of a custom document store.
Francesco
On 9 February 2015 at 12:51, Erik Hesselink
wrote: We use STM for various things, one of which is our in memory graph database. It's not open source, but it's a core part of our business. We also use it in other places for small bits of shared state, both in public facing (web) applications and development tools. Let me know if you want any further details.
Erik
On Mon, Feb 9, 2015 at 12:19 PM, Tom Ellis
wrote: From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
Thanks,
Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Yes, we use it in a commercial product. As the other replies, I can't
give too much detail, but amongst other uses it enormously simplifies
the implementation of passing events over HTTP using long-polling:
http://stackoverflow.com/questions/17022625/long-polling-in-yesod/27481455#2...
On 9 February 2015 at 11:19, Tom Ellis
From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
Thanks,
Tom _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Tom Ellis wrote:
From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Of course I can anwser the general question about usage of Haskell in business, but I don't know much about STM specifically. Can anyone provide me with any references to where STM has been used in production in a business setting?
I used STM in a helper application for an internal web app in my current job. The helper polls a database for jobs once an hour and places jobs in an work queue and mulltiple workers pull from the work queue and exectue the jobs. The work queue is built out of STM elements. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

On Mon, Feb 09, 2015 at 11:19:37AM +0000, Tom Ellis wrote:
From associate of mine: "I am quite curious if anyone actually uses Haskell (esp STM) successfully in business."
Can anyone provide me with any references to where STM has been used in production [...]
Thanks to everyone who helped with my query.
participants (8)
-
Alois Cochard
-
David Turner
-
Erik de Castro Lopo
-
Erik Hesselink
-
Francesco Mazzoli
-
Konstantine Rybnikov
-
Neil Davies
-
Tom Ellis