At Sat, 16 Nov 2013 12:44:03 -0500, Norman Ramsey wrote: > On their next assignment, my students will reuse code they have > built for binary search trees. I would prefer that they place the > old code in a different source file than the new code. I tried > doing this using "require", but I cannot figure out how to get > "require" to load a file that is written in Intermediate Student Language. > Is there another mechanism I should try? Is the thing I want to do > even possible?
You can `require` a module that is implemented in ISL, but ISL doesn't include `provide`, so you normally don't get anything from the module. (It might be better if ISL implicitly exported all definitions. I forget whether we've considered that change before.) Since ISL includes `require`, you can use it to get `provide`. For example, if "p.rkt" has #lang racket (provide provide) then "a.rkt" in ISL could be (require "p.rkt") (define (sum a b) (+ a b)) (provide sum) and then "b.rkt" in ISL can be (require "a.rkt") (sum 1 2) ____________________ Racket Users list: http://lists.racket-lang.org/users