Just posting a message here so that the room can be linked to
hmm, I guess this is a good place to talk about various languages that don't fit into a comment easily
Underload is normally fairly easy to fix; one thing that's worth particular mention is that (…)! is a comment in Underload (parentheses nest when determining where a comment ends)
also that (…) without a ! pushes code onto the stack but doesn't run or parse it immediately, so you can do things with it first (! just gets rid of the code again, but you can also do things like push other stack elements on top of it)
when I originally introduced Underload, I stabilised it by putting a few (::) on the stack, which has a tendency to copy itself when run
finding new languages is hard, though; part of the problem is that most of my languages, I didn't write the interpreter myself, so I don't know how it'd handle a syntax error
(and most of the time I do write it myself, I error on errors rather than ignoring them)
however, this challenge has made me much more inclined to make any new languages I write produce warnings on unrecognised syntax rather than errors…
anyway, I was working on HPPA assembler, which I'm pretty sure can be made to work, but it's way too verbose (at least in the output of gcc with -Os, and also hard to test
PDP-11 asm might work but may be even harder to test (and I'm not sure gcc even runs on that platform, in which case there wouldn't be a pre-existing compiler that works the way we want)
the reason these two are promising is that they use semicolon as a comment marker
thus would polyglot very easily with C/C++ (the only languages they're really competing with after a C preprocessing stage is run)
on x86 the comment marker is # or /* … */
which is so annoyingly similar to C's syntax that it seems very hard to make it work
it's not impossible, but you'd have to find some way to place a literal // or /* into the program via preprocessor abuse, and in a place where one language would parse it literally and the other as a comment
and asm and C have syntax so different that any polyglotting attempt breaks down very quickly
of course, given the whole "# as a comment marker" thing, I wonder if it's possible to do just plain asm, rather than asm-with-cpp
the problem is that then you need an asm/Python polyglot, which also seems nasty (polyglotting it with Perl and probably Ruby should be easy, but Python is a lot stricter syntax-wise)
btw, this page may be a good place to look for languages (it's a list of Esolang articles that claim to have links to implementations; not all do, but there's still a wide selection there)