haskellcoqcoq-extraction

How to set the module name when extracting Coq to Haskell


When I extract/compile Coq to Haskell using Extraction Language Haskell. in the Coq file and running coqtop -compile mymodule.v > MyModule.hs, I get a Haskell module which starts with module Main where.

Is there an option to set the resulting Haskell module name?

I currently pipe to sed like this -

coqtop -compile mymodule.v | sed s/Main/MyModule/ > MyModule.hs

but I'm looking for a cleaner solution.


Solution

  • You can use Extraction "file" or Extraction Library (or its variants), e.g.

    Definition foo := 6*7.
    
    Extraction Language Haskell.
    Extraction "MyModule" foo.
    

    The above produces MyModule.hs file, which starts with module MyModule where.