4 ms·
The thought is somewhat inchoate still. I'm working with a pure functional language (Joy https://joypy.osdn.io/ https://joypy.osdn.io/ ) and when it came time
by carapace 4y ago
The thought is somewhat inchoate still. I'm working with a pure functional language (Joy https://joypy.osdn.io/ https://joypy.osdn.io/ ) and when it came time to add filesystem support I balked. Instead, I'm trying out immutable 3-tuples of (hash, offset, length) to identify sequences of bytes (for now the "backing store" is just a git repo.) Like I said, it's early days but so far it's very interesting and useful.
I get what you're saying about modern filesystems, and I agree. I guess from that POV I'm saying we could stand to remove some of the layers of abstraction?
- mike_hearn 4y agoWell, Git still uses mutable state stored in files. You can't avoid it - the world is mutable. The question is how to expose and manage the mutations. At any rate you might be interested in a few different projects: 1. BlueStore: https://ceph.io/en/news/blog/2017/new-luminous-bluestore/ https://ceph.io/en/news/blog/2017/new-luminous-bluestore/ 2. The DAT or IPFS protocols, which are based on the idea of immutable logs storing file data, identified by hashes, with public keys and signatures to handle mutability.