ref: 5fc8fe7bec594a98c7a2b9fbdfc5f7fb4f11c7c9
dir: /libstd/waitstatus-linux.myr/
use "die.use" pkg std = type waitstatus = union `Waitexit int32 `Waitsig int32 `Waitstop int32 ;; const waitstatus : (st : int32 -> waitstatus) ;; const waitstatus = {st if st & 0x7f == 0 /* if exited */ -> `Waitexit ((st & 0xff00) >> 8) elif ((st & 0xffff)-1) < 0xff /* if signaled */ -> `Waitsig ((st) & 0x7f) elif (((st & 0xffff)*0x10001)>>8) > 0x7f00 -> `Waitstop ((st & 0xff00) >> 8) ;; die("unreachable") }