Comment by froh

Comment by froh 12 hours ago

2 replies

I'd rather love to see confluent persistence in python, i.e. a git-like management of an object tree.

so when you create a new call stack ( generator, async sth, thread) you can create a twig/branch, and that is modified in-place, copy on write.

and you decide when and how to merge a data branch,there are support frameworks for this, even defaults but in general merging data is a deliberate operation. like with git.

locally, a python with this option looks and feels single threaded, no brain knots. sharing and merging intermediate results becomes a deliberate operation with synchronisation points that you can reason about.

traverseda 11 hours ago

This is achievable with deepdiff today: https://pypi.org/project/deepdiff/

Maybe not as performant as if you designed your data structures around it. But certainly achievable.

  • froh 4 hours ago

    interesting project thanks for the pointer

    however it's not what I have in mind

    the point is not being able to dog and patch object graphs

    the point is copy on write of data that isn't local to the current call stack, automatic immutability with automatic transients per call stack.

    a delta will then guide the merge of branches. but the Delta emergency from the CoW, instead of being computed as in deepdiff.