?’,
‘*’, ‘[ ... ]’
and ‘{...}’ are recognised. The interpretation
of ‘{...}’ is slightly different from the C
shell (csh(1)). The comma-separated argument can be arbitrary patterns,
including ‘{...}’ patterns. The empty pattern
is legal as well: ‘{.pl,}’ matches either ‘.pl’
or the empty string.
If the pattern contains wildcard characters, only existing files and directories are returned. Expanding a ‘pattern’ without wildcard characters returns the argument, regardless of whether or not it exists.
Before expanding wildcards, the construct $\arg{var} is
expanded to the value of the environment variable var, and a
possible leading ~ character is expanded to the user's home
directory.163On Windows, the home
directory is determined as follows: if the environment variable HOME
exists, this is used. If the variables HOMEDRIVE and HOMEPATH
exist (Windows-NT), these are used. At initialisation, the system will
set the environment variable HOME to point to the
SWI-Prolog home directory if neither HOME nor HOMEPATH
and HOMEDRIVE are defined.