This manual page documents briefly the nowhere command. This manual page was written for the Debian
distribution because the original program does not have a manual page.
The nowhere program is a simple source to source translation tool that expands out case expressions with
conditional patterns.
Conditional patterns use the "where" keyword. For example:
case l of
[x,y,z] where x=1 => 1
| _ => 2
means the same as:
case l of
[1,y,z] => 1
| _ => 2
Currently, the input file must be of the following form:
local
<definitions>
in
<body>
end
<definitions>
should include all datatypes definitions that are used inside the body. It is only for the tool's
benefit and does not appear in the output. Only body appears at the output. You can use the special
declaration
include "filename"
to import extra definitions.
The tool translates all case expressions with guards into the appropriate code.