Scala: объяснения с разделителями - нет

Заинтересовавшись концепцией продолжения, я начал читать вики, посты и пришел к этому «простому» примеру:

reset {
  ...
  shift { k: (Int=>Int) =>  // the continuation k will be the '_ + 1' below
    k(7)
  } + 1
}
// result: 8

Без знания Scala я полностью потерялся здесь, не мог понять, как выходит восьмерка.

Вот как я пытался понять смысл, но не смог. Любой парень, не могли бы вы дать мне краткое объяснение? Да, есть грамматические книги Scala, но они слишком толстые, меня больше интересует понимание концепции продолжения с разделителями, чем основной язык Scala ...

(Int=>Int)

Выглядит как делегат C #, ввод Int, выход Int.

k: (Int=>Int) => k(7)

Я потерян здесь ... что такое k и что такое (Int => Int) => k (7)?

shift { k: (Int=>Int) => k(7) } + 1

Еще больше потеряно ...

reset { ...; shift { k: (Int=>Int) => k(7) } + 1 }

Еще больше и больше теряется ...

Ответы на вопрос(2)

Ваш ответ на вопрос