combinatory compilation