Files
beluga/lisp-interpreter/tests/code/permute.scm
T
Arthur Barraux d8fc7d2d67
Meson Build and Deploy / build (push) Failing after 29s
adding lisp-interpreter
2025-09-24 10:58:09 +02:00

22 lines
492 B
Scheme

(define (brute max-length set)
(define (permute n)
(define str (make-string n))
(define (iter d)
(if (= d n)
(begin
(display str)
(display " "))
(do ((i 0 (+ i 1)))
((= i (string-length set)) 'done)
(begin
(string-set! str d (string-ref set i))
(iter (+ d 1))))))
(iter 0))
(do ((len 0 (+ len 1)))
((> len max-length) 'done)
(permute len)))
(brute 4 "abcd")
(newline)