Sure I'm using something different. :-)

On Wednesday, November 16, 2016 at 12:07:25 AM UTC+1, OvermindDL1 wrote:
>
> aMSG is not a valid constructor name, perhaps instead AMSG or A_Msg or 
> MsgA or so, as long as it starts with an uppercase.  :-)
>
>
> On Tuesday, November 15, 2016 at 3:50:36 PM UTC-7, Tim Bezhashvyly wrote:
>>
>> Thank you. Tried to apply it but my problem is that I'm trying to send 
>> initialize a request on init:
>>
>> init : ( Model, Cmd Msg )
>> init =
>>  ( { 
>>  -- my model here
>>  }
>>  , getJson
>>  )
>>
>> And of course `getJson` is returning `A.Msg`, so even if in B I declare:
>>
>> type Msg
>>  = aMSG A.Msg
>>  | SomeLocalMessage
>>
>>
>> I'm still getting an error that init was expecting `Main.Msg` but got 
>> `A.Msg`.
>>
>> Hope I make sense.
>>
>>
>> On Tuesday, November 15, 2016 at 7:40:50 AM UTC+1, Peter Damoc wrote:
>>>
>>> There used to be a "nesting" set of examples in The Elm Architecture but 
>>> lately this approach has been discouraged. 
>>>
>>> What you describe here is a kind of decomposition into components. 
>>>
>>> It is recommended that you have one model and you decompose the 
>>> functionality of update & view using regular functions. 
>>>
>>> If you want to see how this used to be done, take a look at the old 
>>> CounterPair example:
>>>
>>> https://github.com/pdamoc/elm-architecture-tutorial/blob/master/examples/2/CounterPair.elm
>>>
>>> Please note that this code is obsolete. 
>>>
>>>
>>>  
>>>
>>> On Mon, Nov 14, 2016 at 4:43 PM, Tim Bezhashvyly <[email protected]> 
>>> wrote:
>>>
>>>> I just started digging into Elm so quite possible that my question has 
>>>> a conceptual problem. Please let me know if so.
>>>>
>>>> I have a module A which is asynchronously reading data from JSON. 
>>>> Module A among other things exposes `getJson` function. As the read is 
>>>> processing data asynchronously it can not just return data structure but 
>>>> returning it's Msg type instead which is:
>>>>
>>>> type Msg
>>>>   = FetchSucceed (Maybe Jobs)
>>>>   | FetchFail Http.Error
>>>>
>>>> Now if module B imports module A it can call `getJson` method but it 
>>>> will only trigger  initial call and then has to listen to `FetchSucceed
>>>> `:
>>>>
>>>> update : A.Msg -> A -> (A, Cmd A.Msg)
>>>> update msg model =
>>>>   case msg of
>>>>   FetchSucceed a ->
>>>>   (A a, Cmd.none)
>>>>
>>>>   FetchFail _ ->
>>>>   (model, Cmd.none)
>>>>
>>>> My question is if module B has it's own command how does `update` 
>>>> function combines listening to commands from both modules?
>>>>
>>>> Thanks.
>>>>
>>>> -- 
>>>> 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.
>>>>
>>>
>>>
>>>
>>> -- 
>>> There is NO FATE, we are the creators.
>>> blog: http://damoc.ro/
>>>
>>

-- 
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