Max and Ryan have very good points: 1. The community was somehow expecting a subscription/effect system for the location, this way a library like e.g. Hop could build upon it.
2. In theory, exposing an "update" function for the router that the user could use when a "Navigation" message comes in would work, so there is a concern of why this is exposed as a Program with the main preoccupation being that programs are not(?) composable. 3. There are now 2 different update functions, one that deals with regular messages and one that deals with "Navigation" messages, there is a worry if at some point this might cause duplication in functionality. That said, this solution is pretty easy to understand, its relatively light-weight and enables users to do SPAs with less overhead than frameworks like Angular. On Thu, May 26, 2016 at 3:55 PM Cristian Garcia <[email protected]> wrote: > Max and Ryan have very good points: > > 1. The community was somehow expecting a subscription/effect system for > the location, this way a library like e.g. Hop could build upon it. > > 2. In theory, exposing an "update" function for the router that the user > could use when a "Navigation" message comes in would work, so there is a > concern of why this is exposed as a Program with the main preoccupation > being that programs are not(?) composable. > > 3. There are now 2 different update functions, one that deals with regular > messages and one that deals with "Navigation" messages, there is a worry if > at some point this might cause duplication in functionality. > > That said, this solution is pretty easy to understand, its relatively > light-weight and enables users to do SPAs with less overhead than > frameworks like Angular. > On Thu, May 26, 2016, 01:10 Bogdan Popa <[email protected]> wrote: > >> I've updated elm-route's example app to use `elm-lang/navigation`[1]. >> The diff[2] looks pretty good if you ask me. Thanks guys! >> >> 1: https://github.com/Bogdanp/elm-route/tree/master/examples/app >> 2: >> https://github.com/Bogdanp/elm-route/commit/2b33522c09213b1197fe9512c9ac3fc745b1f16d >> >> Evan Czaplicki <[email protected]> writes: >> >> > On Friday, Noah and I worked on "updating elm-history" so that folks >> can do >> > "routing" with Elm 0.17. The results are these libraries: >> > >> > - elm-lang/navigation >> > <http://package.elm-lang.org/packages/elm-lang/navigation/latest/> >> > - evancz/url-parser >> > <http://package.elm-lang.org/packages/evancz/url-parser/latest/> >> > >> > I think they will cover the core functionality in a way that also >> promotes >> > healthy architecture. If you disagree, I ask that you *use* these >> libraries >> > before you share your opinion (or ideally the particular scenario you >> are >> > having trouble with). >> > >> > >> > Details >> > >> > The elm-lang/navigation library is the core thing. It lets you get >> notified >> > about changes to the address bar. This may be the user typing in there >> or >> > pressing the forward and back buttons on the browser. It also lets you >> > "navigate to new URLs" so you can go to new URLs without reloading any >> > assets. >> > >> > The elm-lang/navigation library is designed such that you can parse URLs >> > however you want. You can see a basic example of that here >> > <https://github.com/elm-lang/navigation/tree/master/examples>. The >> > evancz/url-parser library is meant to handle more complex cases. You can >> > see a bit of that in this example >> > <https://github.com/evancz/url-parser/tree/master/examples>. >> > >> > My URL parser is intended to be a baseline for exploration. There are >> > probably cases it does not cover well. My goal right now is to point us >> > towards good API design, not to be *the* URL parser. >> > >> > >> > Thanks >> > >> > Big thanks to Noah for working through all this with me! And thank you >> to >> > Aaron who helped review and talk through the API we ended up with. These >> > were fun to work on :D >> > >> > -- >> > 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. >> > -- 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.
