diff options
author | bd <bdunahu@operationnull.com> | 2025-01-12 15:10:23 -0700 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-01-12 15:10:23 -0700 |
commit | 000b28c88bbfd1fde94b5e01ce2766230077e013 (patch) | |
tree | 2da470f7fe73f4d1e6ba3cbf25db9c89aa2ff5eb /src/modules/utils | |
parent | 2bc7c77b7f63b1df0340112db6272dc9a78139c1 (diff) |
Expansion of complex expressions into set of instructions
Diffstat (limited to 'src/modules/utils')
-rw-r--r-- | src/modules/utils/t-factory.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/modules/utils/t-factory.scm b/src/modules/utils/t-factory.scm new file mode 100644 index 0000000..cad7c24 --- /dev/null +++ b/src/modules/utils/t-factory.scm @@ -0,0 +1,24 @@ +(define-module (modules utils t-factory) + #:use-module (srfi srfi-9) + #:export (temporary? + temporary-name + temporary-register + set-temporary-register! + make-temporary + )) + + +(define-record-type <temporary> + (make--temporary name register) + temporary? + (name temporary-name) + (register temporary-register set-temporary-register!)) + +(define make-temporary) +(let ((count 100)) + (set! make-temporary + (lambda () + (set! count (1+ count)) + (make--temporary (string->symbol + (format #f "t.~a" count)) + #f)))) |