Skip to content

Instantly share code, notes, and snippets.

@JosephMoniz
Last active January 3, 2016 23:19
Show Gist options
  • Save JosephMoniz/8534258 to your computer and use it in GitHub Desktop.
Save JosephMoniz/8534258 to your computer and use it in GitHub Desktop.
Purely functional event loop in php because why not?
<?php
$loop = PureLoop::loop();
$ticked = $loop->flatMap(function(PureLoop $loop) {
return $loop->nextTick(function(PureLoop $loop) {
return StdIO::putStrLn("Hello from tick")->then(IO::of($loop));
});
});
$timed = $ticked->flatMap(function(PureLoop $loop) {
return $loop->addTimer(new AsyncTimer(2, function(PureLoop $loop) {
return new More(StdIO::putStrLn("Hello from timer")->then(IO::of($loop)));
}));
});
$ran = $timed->flatMap(function(PureLoop $loop) {
return $loop->runLoop();
});
$ran->unsafePerform();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment