• /**
  • * Coding professionally since the year 2000; and I'll only give you
  • * this keyboard when you pry it from my cold dead hands.
  • *
  • * @author Ivan Krechetov <ikr@ikr.su>
  • * @see My resume
  • * @see My GitHub, S/O, CLIST, ProjectEuler
  • * @see Me blogging
  • */
  • var Y = function (f) {
  • return function (self) {
  • return function (x) {
  • return f(self(self))(x);
  • };
  • }(
  • function (self) {
  • return function (x) {
  • return f(self(self))(x);
  • };
  • }
  • );
  • };