2021-05-27 08:36:35 +00:00
|
|
|
#lang racket/base
|
2021-06-04 14:20:14 +00:00
|
|
|
;;; SPDX-License-Identifier: LGPL-3.0-or-later
|
2023-01-16 14:57:29 +00:00
|
|
|
;;; SPDX-FileCopyrightText: Copyright © 2021-2023 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
2021-05-27 08:36:35 +00:00
|
|
|
|
|
|
|
(provide make-counter)
|
|
|
|
|
|
|
|
(define (make-counter [start-value 0])
|
|
|
|
(define next-value start-value)
|
|
|
|
(lambda ()
|
|
|
|
(let ((v next-value))
|
|
|
|
(set! next-value (+ v 1))
|
|
|
|
v)))
|