Skip to content
This repository was archived by the owner on Jun 16, 2021. It is now read-only.
This repository was archived by the owner on Jun 16, 2021. It is now read-only.

Ion builtin conflicts #61

@tjpalmer

Description

@tjpalmer

In porting the ion compiler to ion, I had conflicts with ion builtins, specifically the TYPE_... constants. I ended up renaming the TYPE_... constants in the compiler to CMPL_TYPE_..., though it's easy to mix things up, still.

Maybe this isn't likely to trip people up, but any ongoing additions to builtins can break existing code.

I'm not sure the right way to address this matter. Some possibilities:

  • Just ignore it. Maybe won't cause much trouble.
  • Promise never to add new builtins (including new constants on existing enums). Could freeze builtins and add a new std library or whatnot for anything new, and it needs explicitly imported.
  • Never auto-import anything. This would clearly be a breaking change and would make uses of the very basics more awkward.
  • Allow per-file opt-out of (particular?) builtins.

Maybe other options, too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions