[Agda] how to run helloworld in agda

Sergei Meshveliani mechvel at botik.ru
Wed Dec 9 12:41:17 CET 2015


On Wed, 2015-12-09 at 19:11 +0800, Mandy Martino wrote:
> Hi,
> 
> 
> how to  find  the  path  of  stdlib after it  install ?
> 

For example, I have installed Standard library in 

    /home/mechvel/agda/stLib/oct29-2015/src,

so that this directory contains Algebra.agda, and other .agda files and
subdirectories.  
Agda is called as 

  agda -c $agdaLibOpt MyProgram.agda

where  $agdaLibOpt  is

 -i . -i /home/mechvel/agda/stLib/oct29-2015/src -i /home/mechvel/source

It lists 3 paths. The last path points to where reside my .agda files
which MyProgram imports. 

------
Sergei


> martin at ubuntu:~/adga2/stdlib/agda-stdlib/ffi$ cat Setup.hs 
> import Distribution.Simple
> 
> 
> main = defaultMain
> 
> 
> martin at ubuntu:~/adga2/stdlib/agda-stdlib$ ls
> agda-stdlib.agda-lib  GenerateEverything.hs  LICENCE
>  README.md
> AllNonAsciiChars.hs   GNUmakefile            notes
>  Setup.hs
> CHANGELOG             Header                 publish-listings.sh  src
> doc                   index.sh               README
> ffi                   lib.cabal              README.agda
> 
> 
> 
> Regards,
> 
> 
> Martin 
> 
> 
> > Subject: Re: [Agda] how to run helloworld in agda
> > From: mechvel at botik.ru
> > To: tesleft at hotmail.com
> > CC: agda at lists.chalmers.se
> > Date: Tue, 8 Dec 2015 21:06:16 +0400
> > 
> > On Tue, 2015-12-08 at 16:10 +0800, Mandy Martino wrote:
> > > The interactive mode is no longer supported. Don't complain if it
> > > doesn't work.
> > > Main> :l ag.agda
> > > Checking ag (/home/martin/adga2/ag.agda).
> > > /home/martin/adga2/ag.agda:3,13-25
> > > Failed to find source of module IO.Primitive in any of the
> > > following locations:
> > > /home/martin/adga2/IO/Primitive.agda
> > > /home/martin/adga2/IO/Primitive.lagda
> >
> > /home/martin/.cabal/share/i386-linux-ghc-7.10.1/Agda-2.4.2.3/lib/prim/IO/Primitive.agda
> >
> > /home/martin/.cabal/share/i386-linux-ghc-7.10.1/Agda-2.4.2.3/lib/prim/IO/Primitive.lagda
> > > when scope checking the declaration
> > > open import IO.Primitive using (IO; putStrLn)
> > > Failed.
> > > Main>
> > > 
> > > module ag where
> > > 
> > > open import IO.Primitive using (IO; putStrLn)
> > > open import Data.String using (toCostring; String)
> > > open import Foreign.Haskell using (Unit)
> > > 
> > > main : IO Unit
> > > main = putStrLn (toCostring "Hello, Agda!")
> > > 
> > 
> > I remove "module ag where" (because this module has `main' in it),
> > and apply
> > 
> > agda -c $agdaLibOpt Hello.agda
> > 
> > where $agdaLibOpt contains the path to the /src directory of
> > Standard library.
> > This makes the executable file Hello.
> > Then, the command 
> > 
> > ./Hello 
> > prints 
> > "Hello, Agda!"
> > 
> > 
> > > why use open import, but not import
> > 
> > After "import Foo",
> > 
> > one can write Foo.foo, if foo is defined in Foo module.
> > After
> > import Foo
> > open Foo using (foo) 
> > 
> > one can write `foo' in the scope.
> > And the line
> > 
> > open import Foo using (foo)
> > 
> > combines the above lines of `import' and `open'.
> > 
> > Regards,
> > 
> > ------
> > Sergei
> > 
> > 
> > 
> 




More information about the Agda mailing list