Would this work for what you want? If med.rkt contains this: #lang racket
(provide (all-defined-out) #%datum #%top (rename-out [new-module-begin #%module-begin])) (define-syntax-rule (new-module-begin med-thing ...) (#%module-begin (display (~a med-thing ... #:separator " ")))) (define hctz25 "Hydrochlorothiazide 25mg") (define simva20 "Simvastatin 20mg") (define pl "pills") (define 1xd "Take 1 pill P.O. 1x/day") (define 1xn "Take 1 pill P.O. 1x at night") (define INSTOMZ "half an hour before breakfast, with a glass of water") (define line "-----------") And try-it.rkt contains this: #lang s-exp "med.rkt" hctz25 30 pl 1xd simva20 30 pl 1xn Then running try-it.rkt will produce the output: Hydrochlorothiazide 25mg 30 pills Take 1 pill P.O. 1x/day Simvastatin 20mg 30 pills Take 1 pill P.O. 1x at night Or if new-module-begin is defined like this instead: (define-syntax-rule (new-module-begin med-thing ...) (#%module-begin (provide data) (define data (~a med-thing ... #:separator " ")))) Then doing (require “try-it.rkt”) will import data as the string "Hydrochlorothiazide 25mg 30 pills Take 1 pill P.O. 1x/day Simvastatin 20mg 30 pills Take 1 pill P.O. 1x at night".
____________________ Racket Users list: http://lists.racket-lang.org/users