You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multiple community members brought up the wish to handle smaller portions of the IR as independent units instead of always working with an entire distribution. While the IR is very composable and you can independently define individual types or functions one specific design choice makes that less feasible:
The fact that we use fully qualified names in every reference (types, values, constructors) means that even when you are looking at a single definition you still need to be aware of the whole IR structure when you are trying to resolve a reference even if it is local.
To fix this we can introduce a new type:
moduleMorphir.IR.Refexposing (..)
type Ref=ModuleLocalRefName|PackageLocalRefQName|GlobalRefFQName
Then we can replace FQName in Reference in both places:
moduleMorphir.IR.Typeexposing (..)
type Type a
=...|Reference a Ref(List(Type a))|...
moduleMorphir.IR.Valueexposing (..)
type Value ta va
=...|Constructor va Ref|Reference va Ref|...
The text was updated successfully, but these errors were encountered:
Discussed in #220
Multiple community members brought up the wish to handle smaller portions of the IR as independent units instead of always working with an entire distribution. While the IR is very composable and you can independently define individual types or functions one specific design choice makes that less feasible:
To fix this we can introduce a new type:
Then we can replace
FQName
inReference
in both places:The text was updated successfully, but these errors were encountered: