`programWithArgs` could also work, but I agree that your second option can make it more consistent throughout Elm apps (we will then just have `beginnerProgram` and `program`). I don't know if the use case (giving data to Elm app on init) is common enough to justify doing that, though.
On 29 September 2016 at 21:15, OvermindDL1 <[email protected]> wrote: > I'd personally use `programWithArgs`, or just `program` and bake flags in, > defaulting to an empty tuple or some other nil type or so that comes from > javascript's `undefined`. Like define init via `init () = { blah model }` > for the 'no argument' case, that way it accepts 'undefined' from > javascript, such as when there is no argument passed in from javascript. > > > On Wednesday, September 28, 2016 at 10:28:12 PM UTC-6, Bobby Priambodo > wrote: >> >> Yeah, that’s also the conclusion I came to after some reasoning. But I >> still think that it’s kind of confusing for first-timers in Elm; it might >> make sense if the context was a CLI program, but I don’t think I've heard >> it used in, say, web applications (other than feature flags). It’s great >> that now it’s in the guide, but it was not on my first pass and left me >> effectively confused. >> >> >> If we want to be explicit, why not something along the lines of >> `programWithInitialValues`? >> >> On Thursday, 29 September 2016 03:22:18 UTC+7, Nick H wrote: >>> >>> I think it's pretty common to use "flag" to refer to any option passed >>> to a program when it starts. For instance, in >>> >>> elm-make src/Main.elm --output=main.js >>> >>> the "--output=main" is often referred to as a flag, even though it is >>> not a boolean value. >>> >>> On Wed, Sep 28, 2016 at 12:55 AM, Bobby Priambodo <[email protected]> >>> wrote: >>> >>>> Hi! I'm building my first Elm app using the embed-to-HTML approach. I'm >>>> already using a backend (Node.js with Hapi), and since I think >>>> server-side-rendering is not supported anytime soon, I'm just passing the >>>> data from the server to Elm through JS interop. >>>> >>>> I've initially used subscription ports to do it, but several days ago >>>> Evan updated the interop part in guide.elm-lang.org/interop/jav >>>> ascript.html to show how to do it with `programWithFlags`. I remember >>>> skimming through the docs and saw that function, but I didn't even think >>>> that it will achieve what it does. It's kind of unintuitive that >>>> `programWithFlags` means "an app which allows initializing model through >>>> JS", since in many programming stuff "flags" just mean boolean values or >>>> switches. >>>> >>>> Was there any reason why it's named that way? >>>> >>>> -- >>>> 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. >>>> >>> >>> -- > 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. > -- *Bobby Priambodo* *+62 896 8815 7020* *[email protected] <[email protected]>* -- 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.
