#5094: Get rid of hidden modules
---------------------------------+------------------------------------------
    Reporter:  mcandre           |       Owner:                           
        Type:  feature request   |      Status:  new                      
    Priority:  normal            |   Component:  Compiler                 
     Version:  7.0.3             |    Keywords:                           
    Testcase:                    |   Blockedby:                           
          Os:  Unknown/Multiple  |    Blocking:                           
Architecture:  Unknown/Multiple  |     Failure:  GHC rejects valid program
---------------------------------+------------------------------------------
 I'm writing a Haskell script to automate logging into my university's
 authentication system. This problem lends itself to web scraping. Just
 request an HTTPS page, fill in the forms with username and password, and
 click submit.

 The [http://hackage.haskell.org/package/shpider Shpider] package is a
 wrapper around the popular C scraping library Curl. While the author went
 to some effort to Haskellize the many technical options one can supply to
 a Curl operation, he put all the constructors for the options in a hidden
 module.

 How does this impact a Shpider app? It means the app can't do ordinary
 things like specify a useragent string or set a connection timeout. Each
 of these is important: Until the app logs the user into the university
 portal, he cannot access the Internet. But the app needs to access the
 Internet to verify the login portal's SSL certificate. Shpider has an
 option for this, but the option's constructor is only available as a
 hidden module in the Shpider package.

 I could go on about the need to circumvent artificial permissions, but
 here the developer isn't even using them correctly. {{{CurlUserAgent}}}
 exists, but it's worthless unless it's exposed to code in outer modules.

 Please consider dropping support for hidden modules. Coders write around
 them anyway, because they need to, because they're an inconvenience.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5094>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to