JuliaLang/julia — pull request #683 by pao (2012-04-09 03:23:35+00:00)
Title: Support for gensyms tagged with a string

Error messages about gensyms are singularly unhelpful. I wrote the macro and I'm not going to figure what ##3453 is referring to. Imagine how the user of a macro must feel when the macro breaks. Then they report the error message to you saying that there's a problem with ##3453. Awesome.

This commit adds gensym(s) and gensym(ss...), which produce one or more gensyms each tagged with a string. Now my error is about ##arg1#3453. Wait, arg1? Oh, that's what I did wrong. Awesome!

I have a nefarious use for these. (Spoiler: It's struct.jl.)