[Agda] Path to the standard library for the command line compiler
Nils Anders Danielsson
nad at chalmers.se
Wed Jan 11 16:35:29 CET 2012
On 2012-01-11 16:29, José Pedro Magalhães wrote:
> I'm trying to compile an Agda file with the command line compiler.
> This file uses the standard library, so I'm using the --include-path
> flag to point to the location of the standard library:
>
> agda --include-path="C:\agda2\lib-0.5\src" code.agda
>
> But the compiler complains with:
>
> The name of the top level module does not match the file name. The
> module code should be defined in one of the following files:
> C:\agda2\lib-0.5\src\code.agda
> C:\agda2\lib-0.5\src\code.lagda
>
> Why is this? The file loads fine in emacs (with the agda2-include-dirs
> Emacs mode variable set appropriately). This is with version 2.2.10,
> on Windows.
If you set the include path manually, then the current directory is not
included automatically.
From the release notes for Agda 2.2.6:
* If a file F is loaded, and this file defines the module M, it is an
error if F is not the file which defines M according to the include
path.
Note that the command-line tool and the Emacs mode define the
meaning of relative include paths differently: the command-line tool
interprets them relative to the current working directory, whereas
the Emacs mode interprets them relative to the root directory of the
current project. (As an example, if the module A.B.C is loaded from
the file <some-path>/A/B/C.agda, then the root directory is
<some-path>.)
--
/NAD
More information about the Agda
mailing list