News for hackers. Stuff that matters.
Re:You might not need a CRDT by lijogdfljk on Monday December 05, 2022 @02:05PM (#33870254)
Yea, this is kinda why i don't understand a lot of these off the shelf CRDT solutions. Like CRDTs for JSON.

I'm still trying to learn CRDTs; but early on in my learning process i had the thought that CRDTs don't have mere data types - as you say, they have Data Type + Conflict Resolution bundled into one. It's not enough to make a String type, because different types need to be resolved differently. Plus some types of resolution have a lot more metadata, so you want to choose the best fitting one.

I found that my goal to make SQL + CRDT meant i had to expose this combo of Type + Resolution to the end user. It seems essential to how the app works.

But maybe i don't know anything, /shrug. I'm still learning them.

Re:You might not need a CRDT by toomim on Monday December 05, 2022 @02:47PM (#33870846)
Yes! We call this the "Merge Type" of data in the braid.org group.

Each datum as both a data type and a merge type. The programmer just needs to specify these two types, and then the programming runtime can choose which synchronization algorithm to use.

Re:You might not need a CRDT by preseinger on Tuesday December 06, 2022 @02:46PM (#33885956)
Er, how can you express the merge operation as a type?
Re:You might not need a CRDT by toomim on Tuesday December 06, 2022 @06:01PM (#33888319)
Re:You might not need a CRDT by preseinger on Wednesday December 07, 2022 @06:40PM (#33901994)
> A Merge Type is a function

Er, okay, if you redefine "type" to mean "function" then sure.