Despite attempts to make naming completely explicit the naming game involves some implicit considerations. Even chemical "language" is subject to social parameters and is not as explicitly rigid as computer languages. When naming compounds it's considered a "given" that chemical charges based on the periodic table are memorized. It's like knowing the times table. Likewise NaCl is sodium chloride, not sodium monochloride.
BaCl2 is a good example of the naming operation, though it's professionally acceptable for the normally droppable "di" prefix to be included. Chemical name searches in chemical databases, like PubChem, provide interesting lessons in naming. Here's an excerpt on BaCl2:
barium chloride, (140)BaCl2
barium chloride, (153)BaCl2
barium chloride, dihydrate
barium chloride, hexahydrate
barium chloride, monohydrate
barium chloride, octaammoniate
Note the first and last entries. They are respectively "barium chloride" and "barium dichloride". Both of these names are correct but seemingly contradictory unless the knowledge of chemical charges come into play. Ba has +2 charge and must combine with something that is one -2 charge or two -1 charges. Knowing that Cl- is -1 makes it safe to imply 2 of these are needed- so both "barium chloride" and "barium dichloride" are correct answers.
Also note the possibility of making a mistake in naming. The temptation for adding "mono" to "barium chloride" thus writing "barium monochloride" may come with a certain probability. The naming rules indirectly incorporates this probability. In other words it's avoided for a reason commonly known to people in the field.
Normally, naming something "barium monochloride" is a no-no- However, science wouldn't be science without some craziness. The term could be used for special circumstances where such a thing exists under extraordinary circumstance. This sort of context would be very obvious in a highly technical work thus easily understood in that context.
From this standpoint, it would be redundant to add the prefix "mono" to chloride (for HCl) since the simplest element, H, has a +1 charge under normal circumstances. In conclusion, it helps to become familiar with at least the basic chemical charges to improve upon the naming process.