<div dir="ltr"><div><div><div><div>Hello!<br><br></div><div>I'm using Racket 6.1<br></div><div><br></div>I'm trying to understand this error. I'm using submodules in a language I defined. The language file is here:<br>
<br><a href="http://pastebin.com/7RiHHRmi">http://pastebin.com/7RiHHRmi</a><br><br></div>Notice the commented out line 28.<br><br></div>I use that language in the following code<br><br><a href="http://pastebin.com/Qa6RD9wF">http://pastebin.com/Qa6RD9wF</a><br>
<br></div>raco expanding this last file fails with<br><br><div><div><div><div>module: duplicate submodule definition<br> at: configure-runtime<br> in: module<br> context...:<br> /usr/share/racket/pkgs/compiler-lib/compiler/commands/expand.rkt:29:11: loop<br>
/usr/share/racket/pkgs/compiler-lib/compiler/commands/expand.rkt: [running body]<br> /usr/share/racket/collects/raco/raco.rkt: [running body]<br> /usr/share/racket/collects/raco/main.rkt: [running body]<br><br><div>
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.<br><br></div><div>Trying to macro expand that in drracket gives me "Internal error: car: contract violation ." error.<br>
</div><div><br></div><div>What is happending here?<br><br></div><div>Thanks,<br></div><div>Marco<br></div></div></div></div></div></div>