Re: [elm-discuss] Re: Elm FP vs Elm FRP

2017-03-23 Thread Mark Hamburg
Elm's FRP was always somewhat weak in that it didn't allow for monadic
(i.e., flatMappable) signals the way something like Rx does. There were
mathematical reasons for this — e.g., if you can create a signal that
counts mouse clicks then it should arguably give you the same values no
matter when you create it which effectively means that all signals need to
be created at the beginning of your program — but this restriction cost Elm
one of the best reasons for using something like Rx. So, the FRP patterns
in Elm got distilled down over time  into the fold over messages
architecture at the heart of TEA and then FRP went away.

Or at least that's my impression of what happened.

Mark

On Thu, Mar 23, 2017 at 4:05 AM Robert Walter 
wrote:

> Hi Eveline,
>
> Then why is Elm not a FRP anymore?
>
>
> Good question, and I guess the answer could become academic rather
> quickly. Still, what helped me understand it were some answers by Conal
> Elliot where he addresses "What is FRP?":
> http://stackoverflow.com/questions/5875929/specification-for-a-functional-reactive-programming-language
> or
> http://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming/1030631#1030631
> Funnily enough, Conal Elliot is not a big fan of the term FRP and tries to
> convince people to call it "denotative, continuous-time programming".
> Also, Stepen Blackheath felt compelled to make a statement to Elm dropping
> FRP: http://sodium.nz/t/my-comment-on-elm-dropping-frp/69
>
> Now, my attempt to answer your question: one of the two integral parts of
> FRP is to be "temporal continuous". To achieve this, you need a notion of
> "values of time". Elm used to have Signals that denoted exactly that
> (before 0.17). Other FRP systems distinguish between "Cells" and "Streams",
> which where kind of merged together to Signals in Elm.
> Anyway, without having Signals/Streams, i.e. "values over time", you
> cannot say that Elm has FRP baked in anymore. TEA separates data and logic
> completely. You have a model, and the Elm runtime allows you to operate
> (update) and transform (view) it to a representation that can be rendered
> by a browser.
>
> Hope this helps,
> Robert
>
> On Thursday, March 23, 2017 at 10:26:42 AM UTC+1, Eveline van Hal wrote:
>
> Hi everyone,
>
> I'm doing my graduating internship and working on an Elm application. I
> have been trying to figure out what the difference is between Elm before
> 0.17 and after.
>
> I have only used Elm 0.18, so I have not had the FRP experience, but from
> what I have read - the experience seems very much the same but simpler. Is
> this true? Then why is Elm not a FRP anymore?
>
> Further does Evan say in the Farewell to FRP post that there could be
> argued that Elm was never a FRP, but why?
>
> 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 elm-discuss+unsubscr...@googlegroups.com.
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>
>

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


[elm-discuss] Re: Elm FP vs Elm FRP

2017-03-23 Thread Robert Walter
Hi Eveline,

Then why is Elm not a FRP anymore?


Good question, and I guess the answer could become academic rather quickly. 
Still, what helped me understand it were some answers by Conal Elliot where 
he addresses "What is 
FRP?": 
http://stackoverflow.com/questions/5875929/specification-for-a-functional-reactive-programming-language
 
or 
http://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming/1030631#1030631
Funnily enough, Conal Elliot is not a big fan of the term FRP and tries to 
convince people to call it "denotative, continuous-time programming".
Also, Stepen Blackheath felt compelled to make a statement to Elm dropping 
FRP: http://sodium.nz/t/my-comment-on-elm-dropping-frp/69

Now, my attempt to answer your question: one of the two integral parts of 
FRP is to be "temporal continuous". To achieve this, you need a notion of 
"values of time". Elm used to have Signals that denoted exactly that 
(before 0.17). Other FRP systems distinguish between "Cells" and "Streams", 
which where kind of merged together to Signals in Elm.
Anyway, without having Signals/Streams, i.e. "values over time", you cannot 
say that Elm has FRP baked in anymore. TEA separates data and logic 
completely. You have a model, and the Elm runtime allows you to operate 
(update) and transform (view) it to a representation that can be rendered 
by a browser.

Hope this helps,
Robert

On Thursday, March 23, 2017 at 10:26:42 AM UTC+1, Eveline van Hal wrote:
>
> Hi everyone,
>
> I'm doing my graduating internship and working on an Elm application. I 
> have been trying to figure out what the difference is between Elm before 
> 0.17 and after.
>
> I have only used Elm 0.18, so I have not had the FRP experience, but from 
> what I have read - the experience seems very much the same but simpler. Is 
> this true? Then why is Elm not a FRP anymore?
>
> Further does Evan say in the Farewell to FRP post that there could be 
> argued that Elm was never a FRP, but why?
>
> 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 elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.