(module main () (import (scheme) (chicken format) (prefix (arith num) n:) (prefix (arith str) s:) (prefix (arith mix) m:) (prefix (binop plus) bp:) (prefix (binop times) bt:)) (printf "num add: ~a, sub: ~a~%" (n:add 3 4) (n:sub 3 4)) (printf "str add: ~a, sub: ~a~%" (s:add "3" "4") (s:sub "3" "4")) (printf "mix add: ~a, sub: ~a~%" (m:add 3 4) (m:sub "3" "4")) (printf "op plus : ~a~%" (bp:op 3 4)) (printf "op times: ~a~%" (bt:op 3 4)))