>
> 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 elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to