New Issue: Now that we have 'OS.POSIX' can we just deprecate 'Sys' as a whole?

19904, "bradcray", "Now that we have 'OS.POSIX' can we just deprecate 'Sys' as a whole?", "2022-05-28T00:45:46Z"

As discussed in a deep-dive this week, our last review of the Sys module resulted
in the creation of the OS.POSIX module to provide a Chapel interface to POSIX
features. This left me with the question "Could we simply deprecate the Sys module
as a whole rather than worrying about each element that it contains?"

Running a paratest to check this, I found that only 375 tests fail, where remaining
things that we currently rely on are as follows:

A few things that are easily dealt with:

  • FileSystem uses Sys, but can use OS.POSIX instead
  • Path uses Sys but doesn't need to

One that accounts for most of the rest of the failures:

  • SIG* symbols that are not present in OS.POSIX, used by Subprocess.chpl

And a few miscellaneous cases that will have to be wrestled with:

  • timeval, called struct_timeval in OS.POSIX, used by Curl.chpl
  • sys_select, called select_posix in OS.POSIX, used by Curl.chpl
  • a bunch of stuff in the Socket.chpl module that I didn't try to sort through
  • a few tests that use Sys directly

This is encouraging since it suggests that it would not take much to get our
current code base and tests to stop using Sys.