Skip to content

Should PersistentDict and HAMT be public from Base or not? #53982

@jariji

Description

@jariji

PersistentDict and HAMT were added to Base by @vchuravy in #51164 as part of the implementation of ScopedValues. I didn't see any discussion of whether they should be part of the public API. These days Julia is mostly moving things out of Base rather than in, so I'm bringing it up here.

What are the benefits and costs of putting these API in Base rather than

  • using them privately without exporting, and/or
  • having the types in a package that can be modified separately from Base?

#53980 reports PersistentDict's now-documented examples are using Base.delete which isn't a public function.

Metadata

Metadata

Assignees

No one assigned

    Labels

    designDesign of APIs or of the language itself

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions