Skip to content
  • Simon Marlow's avatar
    Provide a raw ByteString version of FilePath and environment APIs · 34c7bf89
    Simon Marlow authored
    The new module System.Posix.ByteString provides exactly the same API
    as System.Posix, except that:
    
      - There is a new type: RawFilePath = ByteString
    
      - All functions mentioning FilePath in the System.Posix API
        use RawFilePath in the System.Posix.ByteString API
    
      - RawFilePaths are not subject to Unicode locale encoding and
        decoding, unlike FilePaths.  They are the exact bytes passed to and
        returned from the underlying POSIX API.
    
      - Similarly for functions that deal in environment
        strings (System.Posix.Env): these use untranslated ByteStrings
        in System.Posix.Environment
    
      - There is a new function
    
         System.Posix.ByteString.getArgs :: [ByteString]
    
        returning the raw untranslated arguments as passed to exec() when
        the program was started.
    34c7bf89