I just had a random idea that feels like it could address a longstanding pain point in a way that feels natural to me:
what if you could do this in module headers?
exposes [foo as bar]
The problem this would solve is when I want to expose something named foo because MyModule.foo is the best name for it, but also I happen to want to name things foo inside my module a lot
so this would let me name the top level function fooInternal or something, and then expose it with exposing [fooInternal as foo]
and then within the module I'd still be free to name things foo if I want to
Happened to me with values when writing the new dict impl
Cause there was already Dict.values
So I'm for this change
Would this be allowed for imports too?
:thinking: I think it already is? Or at least should be haha, possibly not implemented
I meant at the exposed name level:
import Foo exposing [foo as bar]
oh gotcha, yeah we should definitely support that!
Last updated: Jun 16 2026 at 16:19 UTC