abs package:Cabal-syntax
When typechecking, we don't demand that a freshly instantiated
IndefFullUnitId be compiled; instead, we just depend on the
installed indefinite unit installed at the
ComponentId.
Since
Void values logically don't exist, this witnesses the
logical reasoning tool of "ex falso quodlibet".
>>> let x :: Either Void Int; x = Right 5
>>> :{
case x of
Right r -> r
Left l -> absurd l
:}
5
Absolute path to the current working directory.
Abstyles, Abstyles License
isAbsoluteOnAnyPlatform and
isRelativeOnAnyPlatform are
like
isAbsolute and
isRelative but have platform
independent heuristics. The System.FilePath exists in two versions,
Windows and Posix. The two versions don't agree on what is a relative
path and we don't know if we're given Windows or Posix paths. This
results in false positives when running on Posix and inspecting
Windows paths, like the hackage server does.
System.FilePath.Posix.isAbsolute "C:\hello" == False
System.FilePath.Windows.isAbsolute "/hello" == False This means that
we would treat paths that start with "/" to be absolute. On Posix they
are indeed absolute, while on Windows they are not.
The portable versions should be used when we might deal with paths
that are from another OS than the host OS. For example, the Hackage
Server deals with both Windows and Posix paths while performing the
PackageDescription checks. In contrast, when we run 'cabal configure'
we do expect the paths to be correct for our OS and we should not have
to use the platform independent heuristics.
Is this symbolic path allowed to be absolute, or must it be relative?
The path may be absolute, or it may be relative.
Allow the use of type abstraction syntax.