Their esters, acids, and whatnot.
Something like “acid” is never hyphenated, nor capitalized. THCa is the correct capitalization and lack of punctuation. THCA would imply something like “Tetrahydrocannabi<a-something>”. The lowercase “a” to imply acid is the correct way to do so. CBDa, CBGa, etc. THC-A would imply something like “Tetrahydrocannabinol Acetate”.
Cannabinoid names are never hyphenated. For example, you dont say CB-D or CB-C. THCP is THCP, you dont say “THC-Pherol”, and that is the name of the cannabinoid itself, it is not a modification to THC.
HHCP-M is Hexahydrocannabiphorol Monomethylether. Nobody would ever say “This is HHC-phorol monomethylether” but in some settings a scientist may say “This is HHCP Monomethylether”, thus, HHCP-M. This is a quick rule-of-thumb that definitely has exceptions.
This rule breaks for THCO-Acetate, which we often see as “THC-O”. THC-O is a fully synthetic variant of THC which has additional groups added to it, THCO-Acetate. To mark this distinction, people shift the hyphen and remove “acetate”. The funny oddity here is, THC-O - in and of itself, the O refers to “Ol”, aka Binol, aka by this convention, regular THC (tetrahydrocannabinol) is THCO…
You might think that the O refers to the oxygen from the acetate group, but no. The IUPAC names show this: Regular THC: (6aR,10aR)-6,6,9-Trimethyl-3-pentyl-6a,7,8,10a-tetrahydro-6H-benzo[c]chromen-1-ol THC-O: (6aR,10aR)-6,6,9-Trimethyl-3-pentyl-6a,7,8,10a-tetrahydro-6H-benzo[c]chromen-1-yl acetate
Note, the source of the “O” (-ol) is actually missing in THC-O! Therefore, we should probably just call this THC-Acetate. That would scare those people who confused Vitamin E Acetate with THC-Acetate though.
Yes, this does apply to HHC-O as well.