Suppport multiple identifier namespaces
brendanzab opened this issue · 0 comments
brendanzab commented
This would be useful for languages where the are multiple namespaces. Examples would be Rust, Haskell, or Elm, where values and types can share names, but point to different things. Eg:
data Foo a = Foo a Int
Foo
points to either:
- the type constructor
Foo :: Type -> Type
- the value constructor
Foo :: forall a . a -> Int -> Foo a
Unbound manages this by adding a phantom type parameter to its Name
type. So you could have either Name Type
or Name Expr
.