Files
fruix/tests/guile/modules/phase1/sample.scm

26 lines
871 B
Scheme

(define-module (phase1 sample)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-13)
#:export (sample-message deterministic-payload))
(define (sample-message)
"sample-module-ok")
(define (deterministic-payload)
(let* ((pairs '((gamma . 3) (alpha . 1) (beta . 2)))
(sorted (sort pairs (lambda (a b)
(string<? (symbol->string (car a))
(symbol->string (car b))))))
(sum (apply + (map (lambda (pair)
(* (cdr pair) (cdr pair)))
sorted))))
(string-append
(string-join
(map (lambda (pair)
(string-append (symbol->string (car pair))
"="
(number->string (cdr pair))))
sorted)
";")
";sum=" (number->string sum))))