Welcome to the CHICKEN Scheme pasting service
fizzbuzz.scm added by sbwhitecap on Sun Mar 22 06:46:38 2015
#!/bin/sh #| exec csi -s "$0" "$@" |# (require-extension srfi-1) (require-extension srfi-13) (define divisible? (lambda (d n) (= (modulo n d) 0))) (define fizz (lambda (n) (if (divisible? 3 n) "Fizz" ""))) (define buzz (lambda (n) (if (divisible? 5 n) "Buzz" ""))) (define zz (lambda (d str n) (if (divisible? d n) str ""))) (define integer->fizzbuzz (lambda (n) (let ((result (string-concatenate (list (zz 3 "Fizz" n) (zz 5 "Buzz" n))))) (if (string= result "") (number->string n) result)))) (define fizzbuzz (lambda () (map (lambda (n) (display n) (newline)) (map integer->fizzbuzz (cdr (iota 50)))))) (define main (lambda (args) (fizzbuzz))) #| /* vim: set tabstop=2 shiftwidth=2 expandtab */ |#