Programmable array logic