Pure and declarative syntax definition: Paradise lost and regained