{"action":"opened","issue":{"url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2712","repository_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa","labels_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2712/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2712/comments","events_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2712/events","html_url":"https://github.com/ReactiveCocoa/ReactiveCocoa/issues/2712","id":131632970,"number":2712,"title":"Analog of the Elm's foldp and past dependent signals in RAC","user":{"login":"AlexanderKaraberov","id":3254818,"avatar_url":"https://avatars.githubusercontent.com/u/3254818?v=3","gravatar_id":"","url":"https://api.github.com/users/AlexanderKaraberov","html_url":"https://github.com/AlexanderKaraberov","followers_url":"https://api.github.com/users/AlexanderKaraberov/followers","following_url":"https://api.github.com/users/AlexanderKaraberov/following{/other_user}","gists_url":"https://api.github.com/users/AlexanderKaraberov/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexanderKaraberov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexanderKaraberov/subscriptions","organizations_url":"https://api.github.com/users/AlexanderKaraberov/orgs","repos_url":"https://api.github.com/users/AlexanderKaraberov/repos","events_url":"https://api.github.com/users/AlexanderKaraberov/events{/privacy}","received_events_url":"https://api.github.com/users/AlexanderKaraberov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-05T12:35:17Z","updated_at":"2016-02-05T12:35:17Z","closed_at":null,"body":"As far as I know ReactiveCocoa uses a lot of Elm' concepts and approaches to FRP. I'm interested in the analog of Elm's `foldp` (fold-past) function, which creates a past-dependent signal, so each update from the incoming signals will be used to step the state forward and the outgoing signal represents the current state. In the Elm Architecture we can read: \"All of the state of our application lives in the foldp, and we mainly use signals on the borders to route incoming and outgoing events.\"\r\nIMO ReactiveCocoa ideas of `SignalProducer`s, `Buffer`s and event queues are exactly for state management and past dependence and similar to `foldp`.\r\n"}}