The Sail instruction-set semantics specification language