its posix compatible, so works on all shells that deserve the name.
Although the original bourne shell only supports ${var-"default"} I think we don't need to support it anymore.