Skip to content
This repository was archived by the owner on Jan 8, 2026. It is now read-only.
This repository was archived by the owner on Jan 8, 2026. It is now read-only.

ADLs as a core part of IPLD? #266

@rvagg

Description

@rvagg

Continuing a discussion from elsewhere where we're trying to clarify this graphic:

IPLD Diagram

Without quoting semi-private discussion, there is disagreement about the place of ADLs here. @mikeal wants to remove them from a graphic that is trying to define "what is IPLD".

@warpfork has been suggesting that their existence is important for the proper design of extensible IPLD implementations and omitting them may lead to suboptimal implementations that have difficulty being extended to all that we're trying to build.

I'm very sympathetic to the latter view and see its importance in go-ipld-prime and would love to see the same design make its way through the new Rust implementation. But we really don't have anything that looks like a proper ADL yet and we keep on talking as if they are concrete thing, which they aren't, and maybe that's not been helpful to people who aren't clued in to the way we're all conceptualising it. Even putting it in this graphic suggests that we have something to show, but we just don't.

I'm fine either way wrt this graphic. If we leave it out then we could re-insert it later when we get closer to the ultimate dream. Mostly I just want to isolate this particular discussion here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions