summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2022-03-18 16:10:04 +0530
committerArun Isaac2022-03-18 16:24:19 +0530
commit40b6dccc645d5f51cca1a6235db45302f13fdfac (patch)
treef7abe98c851d5794f6245ec384ea3a50458d8e34
parent5ca60b9297b551016ece6653e00d2a6f3f6f438e (diff)
downloadtissue-40b6dccc645d5f51cca1a6235db45302f13fdfac.tar.gz
tissue-40b6dccc645d5f51cca1a6235db45302f13fdfac.tar.lz
tissue-40b6dccc645d5f51cca1a6235db45302f13fdfac.zip
utils: Move memoize-thunk to utils.
* tissue/issue.scm (memoize-thunk): Move to ...
* tissue/utils.scm (memoize-thunk): ... here.
-rw-r--r--tissue/issue.scm8
-rw-r--r--tissue/utils.scm11
2 files changed, 10 insertions, 9 deletions
diff --git a/tissue/issue.scm b/tissue/issue.scm
index 7b43caa..00fcbcf 100644
--- a/tissue/issue.scm
+++ b/tissue/issue.scm
@@ -226,14 +226,6 @@ return #f."
      "--" file)
     result))
 
-(define (memoize-thunk thunk)
-  "Return a function memoizing THUNK."
-  (let ((result #f))
-    (lambda ()
-      (unless result
-        (set! result (thunk)))
-      result)))
-
 (define issues
   (memoize-thunk
    (lambda ()
diff --git a/tissue/utils.scm b/tissue/utils.scm
index 5fce26d..6832fb8 100644
--- a/tissue/utils.scm
+++ b/tissue/utils.scm
@@ -21,7 +21,8 @@
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 popen)
   #:export (call-with-input-pipe
-            get-line-dos-or-unix))
+            get-line-dos-or-unix
+            memoize-thunk))
 
 (define (call-with-input-pipe proc program . args)
   "Execute PROGRAM ARGS ... in a subprocess with a pipe to it. Call
@@ -43,3 +44,11 @@ ports) in that it also supports DOS line endings."
     (if (eof-object? line)
         line
         (string-trim-right line #\return))))
+
+(define (memoize-thunk thunk)
+  "Return a function memoizing THUNK."
+  (let ((result #f))
+    (lambda ()
+      (unless result
+        (set! result (thunk)))
+      result)))