If you didn't have enough swap then an mmap should have failed, in which case MLton would exit (this should be fixed). If you do have enough swap then unless the other thing was actually running (i.e., not idle) it should just have been swapped out.