[racket] Understanding error in use of submodule in my language

From: Marco Monteiro (marco at neniu.org)
Date: Thu Aug 21 12:22:29 EDT 2014

Hello!

I'm using Racket 6.1

I'm trying to understand this error. I'm using submodules in a language I
defined. The language file is here:

http://pastebin.com/7RiHHRmi

Notice the commented out line 28.

I use that language in the following code

http://pastebin.com/Qa6RD9wF

raco expanding this last file fails with

module: duplicate submodule definition
  at: configure-runtime
  in: module
  context...:
   /usr/share/racket/pkgs/compiler-lib/compiler/commands/expand.rkt:29:11:
loop
   /usr/share/racket/pkgs/compiler-lib/compiler/commands/expand.rkt:
[running body]
   /usr/share/racket/collects/raco/raco.rkt: [running body]
   /usr/share/racket/collects/raco/main.rkt: [running body]

If I uncomment line 28 it no longer fails. If I use (module ...) instead of
(module* ...) it no longer fails independently of line 28 being commented
out or not.

Trying to macro expand that in drracket gives me "Internal error: car:
contract violation ." error.

What is happending here?

Thanks,
Marco
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140821/10269132/attachment.html>

Posted on the users mailing list.