#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
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs