A VM for general purpose languages