zippy / ceptr

(a recomposable medium for distributed social computing) || (semantic self-describing protocol stacks)
http://ceptr.org
GNU General Public License v3.0
88 stars 17 forks source link

Solve the problem of Symbols which are References to persistent objects #36

Closed zippy closed 8 years ago

zippy commented 8 years ago

Scapes, Stream, Receptors. We currently have special functions that create symbols of these types, and also know how to dispose of the underlying data structures when the symbol is disposed (using _t_free)

As in the case of Streams, where you have code that has a symbol that refers to a given stream, you don't actually have the stream, but rather a reference to it, i.e. a Handle. We need to think through how such handles will work and be allocated/used etc.

zippy commented 8 years ago

Simple scaffolding solution: add a flag into the tree node flags to indicate if the node is a reference or the real thing. If a reference, then don't deallocate on _t_free. But then how to handle in the case of cloning. Convert cloned items into references? Not clear about the implications of this... (added the notion of reference type tree nodes as of 48d3e032)

matthewjosef commented 8 years ago

Hey Eric, i'd like to talk through the cloning thing with you. I've thought a bit about this stuff and may be able to flush some things out with a quick chat. -Matt

On Wednesday, August 26, 2015, Eric Harris-Braun notifications@github.com wrote:

Simple scaffolding solution: add a flag into the tree node flags to indicate if the node is a reference or the real thing. If a reference, then don't deallocate on _t_free. But then how to handle in the case of cloning. Covert cloned items into references? Not clear about the implications of this...

— Reply to this email directly or view it on GitHub https://github.com/zippy/ceptr/issues/36#issuecomment-135168085.

More soon!

-Matt

Matthew Schutte Co-Founder Collaborative Advantage

310.699.8802 | caLabs.org http://calabs.org | matthewschutte.com

Collaborative Advantage Empower Individuals. Foster Collaboration. Thrive.

zippy commented 8 years ago

Hey Matt, as of a9b6e043b70 cloning now converts all c-structure nodes to references. I would indeed like to have this conversation with you...

matthewjosef commented 8 years ago

I'm game. My schedule is flexible now through Monday, November 2nd. Pick a time and let's do a phone or video call. WeekdayWeekend is fine for me too.