Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] **Partitions** #88

Open
7 of 15 tasks
kurtlawrence opened this issue Apr 24, 2022 · 0 comments
Open
7 of 15 tasks

[FEATURE] **Partitions** #88

kurtlawrence opened this issue Apr 24, 2022 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Milestone

Comments

@kurtlawrence
Copy link
Member

kurtlawrence commented Apr 24, 2022

Partitions

partition:

one of the parts or sections of a whole.

Goals


Partitions are designed primarily as an encapsulation boundary.
The path name actually does not contribute much to the requirement of partitions,
for a command or def found under a particular path, the path could be emulated in the name (a quirk of allowing loose syntax in identifiers).
Partitions deal primarily with privacy, with encapsulation and segregation a by-product.

Privacy Boundaries

Privacy boundaries are the main feature of partitions.
They allow items defined within a partition to scoped to within itself, or be exposed for external use.
The scoping should also be hierarchical.
Items defined in child partitions would have complete access to items defined in parent partitions.
Items are public by default, and only private if marked so.

The specific features of partitions are:

  • Ability to mark items as private,
    • partitions use import and export directives for privacy
  • Provide syntax for accessing partition items,
  • Nesting partitions,
    • A partitions tree is used
  • Privacy scopes can view all parent partitions, but not children,
  • Import a set of partitions,
    • Partitions tree resolves this
  • Ability to document on partitions, including root

Development Items


@kurtlawrence kurtlawrence added the enhancement New feature or request label Apr 24, 2022
@kurtlawrence kurtlawrence added this to the Partitions milestone Apr 24, 2022
@kurtlawrence kurtlawrence added the documentation Improvements or additions to documentation label Apr 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant