Fibonacci w/continuations
✓ Published0🌍 Public
CCliffordAnderson
Last edited Jun 29, 2022
Created on Jun 29, 2022
This example shows a recursive implementation of the Fibonacci sequence using continuation-passing style (CPS) in MarkLogic’s XQuery dialect. It computes Fibonacci numbers up to 30 by passing a continuation function that receives the intermediate result, allowing tail-call optimization without stack growth. The code relies on MarkLogic’s `map` API (e.g., `map:contains`, `map:get`, `map:put`) to memoize previously calculated values, with the initial memo seeded as `{1:1, 2:1}`. The final continuation returns the computed value, demonstrating how CPS can express non-tail-recursive algorithms as chains of function calls.
AI-generated description