{"action":"created","issue":{"url":"https://api.github.com/repos/evancz/start-app/issues/14","labels_url":"https://api.github.com/repos/evancz/start-app/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/evancz/start-app/issues/14/comments","events_url":"https://api.github.com/repos/evancz/start-app/issues/14/events","html_url":"https://github.com/evancz/start-app/issues/14","id":96491267,"number":14,"title":"Expose `model`, e.g. for `setStorage`","user":{"login":"chendrix","id":474000,"avatar_url":"https://avatars.githubusercontent.com/u/474000?v=3","gravatar_id":"","url":"https://api.github.com/users/chendrix","html_url":"https://github.com/chendrix","followers_url":"https://api.github.com/users/chendrix/followers","following_url":"https://api.github.com/users/chendrix/following{/other_user}","gists_url":"https://api.github.com/users/chendrix/gists{/gist_id}","starred_url":"https://api.github.com/users/chendrix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chendrix/subscriptions","organizations_url":"https://api.github.com/users/chendrix/orgs","repos_url":"https://api.github.com/users/chendrix/repos","events_url":"https://api.github.com/users/chendrix/events{/privacy}","received_events_url":"https://api.github.com/users/chendrix/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-07-22T07:11:38Z","updated_at":"2015-07-22T08:01:05Z","closed_at":"2015-07-22T07:28:56Z","body":"If you were to try to port [TodoMVC](https://github.com/evancz/elm-todomvc/blob/master/Todo.elm) to use `StartApp`, you'd run into a problem\r\n\r\n```elm\r\nport setStorage : Signal Model\r\nport setStorage = model\r\n\r\nmodel : Signal Model\r\nmodel =\r\n  Signal.foldp update initialModel actions.signal\r\n```\r\n\r\nthe `foldp`'ed Signal that represents the state of the app is not exposed via StartApp, so you cannot use it in your port.\r\n\r\nThis signal should be exposed by `StartApp` so it can be consumed by other libs.\r\n\r\nThat way, you could do\r\n\r\n```elm\r\napp =\r\n  { model = initialModel, view = view, update = update }\r\n\r\nmain =\r\n  StartApp.start app\r\n\r\nport setStorage : Signal Model\r\nport setStorage = StartApp.model app\r\n```"},"comment":{"url":"https://api.github.com/repos/evancz/start-app/issues/comments/123607153","html_url":"https://github.com/evancz/start-app/issues/14#issuecomment-123607153","issue_url":"https://api.github.com/repos/evancz/start-app/issues/14","id":123607153,"user":{"login":"evancz","id":1658058,"avatar_url":"https://avatars.githubusercontent.com/u/1658058?v=3","gravatar_id":"","url":"https://api.github.com/users/evancz","html_url":"https://github.com/evancz","followers_url":"https://api.github.com/users/evancz/followers","following_url":"https://api.github.com/users/evancz/following{/other_user}","gists_url":"https://api.github.com/users/evancz/gists{/gist_id}","starred_url":"https://api.github.com/users/evancz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evancz/subscriptions","organizations_url":"https://api.github.com/users/evancz/orgs","repos_url":"https://api.github.com/users/evancz/repos","events_url":"https://api.github.com/users/evancz/events{/privacy}","received_events_url":"https://api.github.com/users/evancz/received_events","type":"User","site_admin":false},"created_at":"2015-07-22T08:01:05Z","updated_at":"2015-07-22T08:01:05Z","body":"Sorry if this sounds curt :( I very much appreciate the PR!\r\n\r\nCan improve how things are phrased in the readme? My goal with start-app was always to get people started quickly, not to solve everything. My major development push is trying to generalize the core concept of start-app in such a way that we can cover everything a normal app would need, including effects and sending messages out of components. This is stuff that has not been clearly outlined anywhere yet. Lot's of folks are asking for this in lots of different forums, and it's coming!"}}