Hacker Newsnew | past | comments | ask | show | jobs | submit | bigcojosh's commentslogin

This was a lovely piece. I'm only surprised by paucity of interesting comments here. If Joran or anybody sees this late comment: I'd appreciate any other references to the approach. Surely it wasn't invented by TigerBeetle?


Hey thanks for the kind words, I am happy you liked the article. You are correct, we did not come up with the rule (but Joran did come up with the name) but drew from the rich history of transaction management systems.

A wonderful paper that I highly recommend is A Transaction Model from Jim Gray, that illustrates like no other than transactions are all about coordinating actions and when to externalize their results to a user. The mental model presented in this paper frequently informs my thinking when designing systems

https://jimgray.azurewebsites.net/papers/a%20transaction%20m...



Great, so now I need a special editor plugin, and a compatible editor just to be able to properly view code?

No wonder why spaces "won"


acting as a juror wasn't a fun experience for me, because I kept getting asked questions without seeing any results, or having any indication of whether/when you'll see results.


I like this too. If a knob is too obtrusive/expensive, could do the same with two buttons. One button for forward and one for back. Make them sensitive enough that it's likely that a casual press will visibly scroll multiple minutes, but not too sensitive to prevent setting a specific minute with a quick tap.


How will be Morte used to do "real work"? Would it always have to be called from a larger language that can do effectful things like IO?


I have no idea what Gabriel is intending here; I'm just talking from general knowledge about consistent languages like the CIC.

There are a number of general examples, though.

1. You can leave termination guarantees in foreign code up to the programmer using an "unsafe" marker.

2. You can model effects using a monad

3. You can model the whole program as codata which is "driven" by the runtime

4. You can write a compiler of an embedded language in CIC and execute complete programs in, say, C


Barclays Bank - New York, NY - all levels

We do high throughput, low latency java server programming.

We love scrum and domain driven design. We automate everything, especially testing.

Our group has got advantages of big company and startup. We're changing the way that Wall Street develops software.

If you like to write code that expresses application logic with brilliant clarity,

Or if you like to hack on high performance systems engineering,

Email us about working at Barclays: bigcojosh@gmail.com


High performance LIBOR fixing is more like it.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: