Pragmatic Reasoning improves LLM Code Generation