-
Notifications
You must be signed in to change notification settings - Fork 108
[WIP] IPLD Composites (formerly IPLD Generics (formerly IPLD multi-block types)) #126
Conversation
* fixed indentation settings in iaWriter :) * added some language agnostic notes on implementations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
really needs @warpfork to help us find a meeting point between schemas and types, or at least to agree that there is some place where they intersect and our various visions for these things is mutually understood and sane
I'm not sure this is a particularly direct response to any of the diff content, but it's on the topic space as a whole, so as a top level comment: Perhaps one way we could consider tersely describing the contract of these things is:
Such a definition is:
It might not be literally what the code is doing in our implementations, and as documentation it also still needs surrounding explanation, but structurally, does this seem about right? |
|
The write side is a bit different, but if you dream of it being based around a (In go-ipld-prime, it'll be even more similar: (Aside: I wrote a whole first draft of this comment based on But as to whether or not this is good as a description: well, maybe. I think we'll get most of the descriptive benefits from putting |
Big changes were pushed:
|
I’m going to merge this in 24h if there are no objections. |
I would prefer to move this to a design history document, write up some other learnings afterwards, and later make a fresher, more limited, and clarified doc for spec drafts. I like all the changes in the latest set, but there are several things in this file that make me uncomfortable, particularly with merging it as a spec-track document:
Proposal: let's move this file to the |
If we're going with the design-history thing then I agree that this might be better there (I'm still not convinced about design-history but it's a thing for now). The main hint in here is the digression into |
The entire purpose of having an “Exploratory” stage is to avoid having a bunch of exploratory documents in notes or “design history.” The goal of this document is to write out and align effort going into Composites, as it will soon include at last 3 people on the team. Having people aligned on terminology and direction is the primary purpose of the document, as is the purpose of an “Exploratory” stage. A document being in an exploratory stages does not solidify any of the approach, it’s all still subject to change or even to be discarded entirely. But, while people are actively trying to make forward progress, we need a way to write down and align that work, which is what the document is attempting to do. You may not agree with where all of the discussions ended up, and we may still return to them later, but in the interest of making forward progress we need to “disagree and commit” for the purposes of continuing to be able to do more exploratory development.
This is accurate, and should be what we assume the state of any Exploratory specification is. We need to stop having PR’s open indefinitely because we lack 100% alignment on topics we have yet to even fully implement. We can continue to have discussions and make changes to Exploratory specifications, in fact, that’s one of the reason why we have a staging system at all. |
Regarding the describing this is "spec-track": even if labeled 'exploratory', it is taking up a slot in the file tree that makes it hard to propose anything else in parallel. I think whether or not something takes up a 'slot' in such a way is the crux of the matter in communication and development flow in practice, and that's why I describe this as 'spec-track'. I think we may actually want to update the governance doc to suggest that exploratory docs simply go in a different directory (as we've started doing already), and we don't use the main directories until things are at least at the 'draft' stage. |
+1000, I’ll work this into my next spec change. |
This was merged with the file named 'generics.md', the title "Composites" and an ongoing discussion about whether even that's the right name. That's strong proof to me that this belongs in design/ history/ or whatever that directory is going to be. |
Ya, that was an oversight, it’s fixed in the “rename PR” that moves it to ‘design/composites-A.md’
…-Mikeal
________________________________
From: Rod Vagg <[email protected]>
Sent: Tuesday, July 16, 2019 9:49 PM
To: ipld/specs
Cc: Mikeal Rogers; State change
Subject: Re: [ipld/specs] [WIP] IPLD Composites (formerly IPLD Generics (formerly IPLD multi-block types)) (#126)
This was merged with the file named 'generics.md', the title "Composites" and an ongoing discussion about whether even that's the right name. That's strong proof to me that this belongs in design/ history/ or whatever that directory is going to be.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub<#126?email_source=notifications&email_token=AAAAEQ54AJHMZFSX4DHHZS3P72QENA5CNFSM4HUEFIR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2DASSY#issuecomment-512100683>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAAAEQ6LFI2WX2NVEP7SPZTP72QENANCNFSM4HUEFIRQ>.
|
…ock types)) (ipld#126) * wip: first go at a general spec for generics * fix: indents and other improvements * fixed indentation settings in iaWriter :) * added some language agnostic notes on implementations * fix: describe "leaf" and requirements on ops * fix: numerous format fixes * fix: better sentence from @vmx * fix: numerous fixes and edits * fix: code formatting error * fix: more words about how definitions apply * fix: less definitive language about CID extension
No description provided.