I find exposing functions/types at the top gives a nice summary of what is 
exposed when reading a new module.  I can usually get a good idea of how 
the module works by seeing the names of the things that are exposed next to 
each other.  That would be harder to do if the exposed annotation is 
throughout the module.

I haven't really noticed the expose syntax as being a pain in 
refactoring/reorganization, though it is an additional step when moving, so 
I see your point.  However, in my experience the additional step is pretty 
trivial/quick to handle, especially with the compiler guiding you.

-Matt



On Wednesday, November 30, 2016 at 9:07:15 AM UTC-5, Martin Cerny wrote:
>
> Hi all,
> coming from Java, C++ and C#, I find the module X exposing (A,B,C) syntax 
> weird - to be short, it feels a bit like C/C++ header files, in that you 
> repeat entity names at multiple places, making refactoring harder. I 
> however guess the syntax was chosen for a reason - so I am asking: what are 
> the advantages of 
>
> module Foo exposing (bar)
>
> bar: Int
>
> over something like
>
> module Foo 
>
> exposed bar: Int
>
> Hope the answers will help me better understand Elm
>
> Thanks
> Martin
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to