7

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.

yairchu
  • 23,680
  • 7
  • 69
  • 109

1 Answers1

3

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.

Anton Trunov
  • 15,074
  • 2
  • 23
  • 43