Haskell Architecture Proposal

Ok, I delved deeper into the topic than I intended. As I see, the way we write Haskell has substantially diverged from the last standard Haskell2010. For example the widely used function unsafePerformIO isn’t mentioned anywhere in the Standard. On the other side there is the old array type included in the standard (under the GHC namespace) which is generally considered obsolete. And there are more examples.

From the discussions I see two tendencies at the moment:

  • We want reliable core libraries
  • We want a small base library

In order to achieve this I would suggest, we start small and try to make the new or existing core libraries conform to the Haskell2010 Standard. I found out there’s the compiler flag for ghc -XHaskell2010 that may be used for this when developing core libraries. As I mentioned, core libraries should only depend on base. If authors find no other way to implement things, they will be requesting more functions they’re used to or maybe for completely new functions. In a next post I explain how these feature requests could be handled for developing a new standard.