>
> Did calling the type and its alias both 'Test' somehow override the 
> private one with the public one?
>

No actually it is misleading you here. The main difference is that when I 
write:

-- module Test exposing (testFunction)
import Public exposing (Test)
import Private
testFunction : Test
testFunction = Private.SomeTest

`Test` in `testFunction` type definition refers to `Public.Test`. It is the 
same as writing:

-- module Test exposing (testFunction)
import Public
import Private
testFunction : Public.Test
testFunction = Private.SomeTest

whereas everywhere in elm-style-animation, mdgriffith is defining its 
functions with the `Animation.Model.Animation msg` return type instead of 
using the `State` public type:

initialState : List Animation.Model.Property -> Animation msg

Technically both types are the same (well not exactly since he defined 
State as Animation *Never*) and both could compile (not here because of 
this Never). But for public interface, I think that type definitions should 
use the public types.

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to