diff options
Diffstat (limited to 'stdlib/source/documentation/lux/control/function/memo.lux')
| -rw-r--r-- | stdlib/source/documentation/lux/control/function/memo.lux | 36 | 
1 files changed, 36 insertions, 0 deletions
diff --git a/stdlib/source/documentation/lux/control/function/memo.lux b/stdlib/source/documentation/lux/control/function/memo.lux new file mode 100644 index 000000000..823b49772 --- /dev/null +++ b/stdlib/source/documentation/lux/control/function/memo.lux @@ -0,0 +1,36 @@ +(.module: +  [library +   [lux (#- if loop) +    ["$" documentation (#+ documentation:)] +    [data +     [text (#+ \n) +      ["%" format (#+ format)]]] +    [macro +     ["." template]]]] +  [\\library +   ["." /]]) + +(documentation: /.open +  "Memoization where the memoized results can be re-used accross invocations." +  [(open memo)]) + +(documentation: /.closed +  (format "Memoization confined to a single invocation to the function (not counting any subsequent recursive invocations)." +          \n "Memoized results will be re-used during recursive invocations, but cannot be accessed after the main invocation has ended.") +  [(closed hash memo)]) + +(documentation: /.none +  (format "No memoization at all." +          \n "This is useful as a test control when measuring the effect of using memoization.") +  [(none hash memo)]) + +(.def: .public documentation +  (.List $.Module) +  ($.module /._ +            "" +            [..open +             ..closed +             ..none +             ($.default /.memoization) +             ($.default /.Memo)] +            []))  | 
