KL interpreter and compiler