system
Computation
system cmd returns the exit code produced when
the operating system runs the shell command
cmd.
This computation may fail with one of the following
IOErrorType
exceptions:
- PermissionDenied The process has insufficient
privileges to perform the operation.
- ResourceExhausted Insufficient resources are
available to perform the operation.
- UnsupportedOperation The implementation does not
support system calls.
On Windows,
system passes the command to the Windows command
interpreter (
CMD.EXE or
COMMAND.COM), hence Unixy
shell tricks will not work.
On Unix systems, see
waitForProcess for the meaning of exit
codes when the process died as the result of a signal.
system generalizes
shell and
proc by allowing you
to supply your own custom
CreateProcess. This is for advanced
users who feel comfortable using the lower-level
process API
system generalizes
shell and
proc by allowing you
to supply your own custom
CreateProcess. This is for advanced
users who feel comfortable using the lower-level
process API
Fast access to the system clock.
Get the system timezone and current time value in multiple formats
Cabal often needs to do slightly different things on specific
platforms. You probably know about the
os however using that is
very inconvenient because it is a string and different Haskell
implementations do not agree on using the same strings for the same
platforms! (In particular see the controversy over "windows" vs
"mingw32"). So to make it more consistent and easy to use we have an
OS enumeration.
An alternative representation of partial elements in a telescope: Γ ⊢
λ Δ. [φ₁ u₁, ... , φₙ uₙ] : Δ → PartialP (∨_ᵢ φᵢ) T see cubicaltt
paper (however we do not store the type T).
Topics starting with a double underscore "__"
(__consumer_offsets, __confluent.support.metrics,
etc.) are considered "system" topics
Common elements from the rest of the Haskell ecosystem. This is mostly
about re-exports. There are numerous types and functions that are more
or less assumed to be in scope when you're doing much of anything in
Haskell; this module is a convenience to pull in the ones we rely on
for the rest of this library.
You can just import this directly:
import Core.System
as there's no particular benefit to cherry-picking the various
sub-modules.