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:
-
FileSystemusesSys, but can useOS.POSIXinstead -
PathusesSysbut doesn't need to
One that accounts for most of the rest of the failures:
-
SIG*symbols that are not present inOS.POSIX, used by Subprocess.chpl
And a few miscellaneous cases that will have to be wrestled with:
-
timeval, calledstruct_timevalin OS.POSIX, used by Curl.chpl -
sys_select, calledselect_posixin 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
Sysdirectly
This is encouraging since it suggests that it would not take much to get our
current code base and tests to stop using Sys.