I've seen both PAL (which I understand is Programmable Array Logic) and PLA (I don't know what this one stands for. Programmable Logic Array?) used to refer to certain types of programmable logic devices that came before modern PLDs, CPLDs, and FPGAs. Is there a semantic difference between the terms, or are they two words for the same class of device?
I was originally going to ask about GALs as well, but I found a question on here that already answers that part.