Hi. I'm implementing <https://github.com/cgay/protocol-buffers> protocol 
buffers for a case-insensitive language (Dylan) and I'm wondering if 
there's prior art that would give me an idea how to handle the following 
case:

message M {
  string S = 1;
  oneof O {
    string s = 2;
  }
}

Since fields M.S and M.s are siblings, the names to access those fields 
will collide. I can generate the name "s*" for lowercase "s". Since "*" is 
invalid in proto field names that's future proof.

So I think I have a way forward but I'm curious if anyone knows of other 
languages that have already addressed this, and what they did.

The Common Lisp implementation ignores the problem and relies on it not 
happening.  The docs for the PHP implementation don't mention this 
particular problem. (They do mention reserved names such as Empty being 
renamed to PBEmpty, but that's not a problem for Dylan.)

Thoughts?  Prayers?

Thanks.
-Carl

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/fe8f148f-e49d-4e91-ad43-ef47bdbae795n%40googlegroups.com.

Reply via email to