It still supports most of the old time-travel functionality; the only thing 
gone is the ability to resume execution from a historical state. I do not 
think this is a technical limitation, but rather a decision made to 
simplify the debugging workflow. (Also, import/export is a super valuable 
feature for QA.)

On Saturday, November 25, 2017 at 12:34:49 PM UTC-5, John Bugner wrote:
>
> In Elm 0.17, signals were removed, and subscriptions were added. Evan says 
> here ( http://elm-lang.org/blog/farewell-to-frp ):
> >That is all nice, but the big benefit is that Elm is now significantly 
> easier to learn and use. 
> I agree! Thinking about my program in terms of MVU (model, view, update) 
> is easier than trying to put together a signal graph. I'm told that this 
> change broke things like back-in-time debugging, but I don't know why. Why 
> is it not possible anymore? It seems that subscriptions grew out of this 
> successful experiment ( 
> https://github.com/evancz/start-app/blob/master/src/StartApp.elm ) to 
> find a way to simplify programming with signals.
>
> Let's compare the signatures of the 'Program' types ('Config' in 
> StartApp.elm):
>
> from https://github.com/evancz/start-app/blob/master/src/StartApp.elm :
> >type alias Config model action =
> >    { init : (model, Effects action)
> >    , update : action -> model -> (model, Effects action)
> >    , view : Signal.Address action -> model -> Html
> >    , inputs : List (Signal.Signal action)
> >    }
> from http://package.elm-lang.org/packages/elm-lang/html/2.0.0/Html :
> >type alias :
> >    { init : (model, Cmd msg)
> >    , update : msg -> model -> (model, Cmd msg)
> >    , subscriptions : model -> Sub msg
> >    , view : model -> Html msg }
> >    }
> >    -> Program Never model msg
>
> They look pretty similar! 'init' is the same. 'update' is the same. But 
> 'view' and 'subscriptions'/'inputs' are different. 'view' lost a parameter, 
> and 'subscriptions' gained a parameter. The magic difference that lost us 
> BiT debugging must be in there, right? I recall reading that BiT debugging 
> was only possible when the signal graph was static. Wouldn't this 
> correspond to 'subscriptions' gaining a parameter? (and thus becoming 
> dynamic?) and about 'view', why did it have/need a 'Signal.Address action' 
> parameter?
>
> I guess my question is: wouldn't it have been possible to make Elm use the 
> MVU model, but still allow BiT debugging? (Basically keep using the 
> StartApp package?) If so, why then was FRP abandoned?
>
>

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