vast icon indicating copy to clipboard operation
vast copied to clipboard

Overridable naming

Open pgoodman opened this issue 1 year ago • 1 comments

Prerequisites

  • [X] I have read the documentation and the proposed feature is not implemented.

Description

Right now VAST employs a few techniques for naming things. For example, it uses name mangling for declarations, and for some anonymous types, it has to invent names. I would like for users to be able to override the generation of all names. The implied contract here is that the user overrides are trusted to maintain the same scope/uniqueness constraints on the names. The current naming code for all things (operations, types, etc.) should be factored out as providing the default/fallback implementations of these name functions.

pgoodman avatar Dec 09 '23 02:12 pgoodman

An addendum to this issue is that lowering to LLVM IR should also implement some kind of overridable callback mechanism that asks the user to convert a high-level name to an llvm-compatible name. The default implementation is the identity transform.

pgoodman avatar Dec 09 '23 03:12 pgoodman