[plt-scheme] Require and a path
At Mon, 4 Apr 2005 22:51:06 -0700, "Alex Peake" wrote:
> Why does:
>
> (require (file (build-path "Dev" "CodeGen" "string-utils.scm")))
>
> Not work then?
Sub-forms of `require' are not expression positions. When a string is
used to name a module, it must be a literal string.
For the above example, I think you want just
(require "Dev/CodeGen/string-utils.scm")
When `file' isn't used, a string is treated like a URL-style relative
path. That is, even if the filesystem doesn't use "/" as the separator,
the above means: "string-utils.scm" in the "CodeGen" subdirectory of
the "Dev" subdirectory of the directory containing this module.
As in URLs, you can use ".." to go up, so
(require "../string-utils.scm")
means: "string-utils.scm" in the parent directory of this module's
directory.
Matthew