Skip to content

Defining and referencing datafaces #3

Open
@sdboyer

Description

@sdboyer

The initial pass at datafaces defines them as lists of signals, then declares the world's simplest possible definitions of RED and USE. This immediately leads to two related questions:

  • Who gets to define a dataface?
  • How does a polly package refer to a dataface when implementing it?

The initial pass allows polly itself to define datafaces, but polly packages can't really do so - they can only implement them. This is a bit like only allowing the standard library of a programming language to define interfaces, and clearly has to change.

But, limiting dataface references to only those defined by the "stdlib" has the advantage of making imports quite simple - we can restrict to only importing github.com/pollypkg/polly/schema, and then a pop can just reference the dataface definitions directly (e.g. pollyschema.USE, here)

Need a viable approach here that:

  • Allows datafaces to be defined outside polly itself/stdlib
  • Keeps references sane, ideally without needing to rely directly on CUE package management for arbitrary packages

Metadata

Metadata

Assignees

No one assigned

    Labels

    spec/datafacesRelated to the specification of datafaces

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions