Permalink
Browse files

Mention explicitly the problem.

  • Loading branch information...
marcotmarcot committed Nov 14, 2012
1 parent 2e8b64a commit dfe04cfc4f94e58179cbeb40618e96711abdf1e6
Showing with 4 additions and 7 deletions.
  1. +4 −7 marcot.tex
View
@@ -128,13 +128,10 @@ \section{Modules}
In this case, each usage of a name from the imported module must be prefixed by the module name.
As module names can be long, they can be locally renamed to make the prefix less verbose.
-However,
-this simplicity is partly hindered by the special treatment given to
-the scope of instances. As defined in the Modules chapter of the
-Haskell 2010 Report \citep[section~5.4]{report}, a type class
-``instance declaration is in scope if and only if a chain of
-\texttt{import} declarations leads to the module containing the
-instance declaration''.
+\section{Contributions of this dissertation}
+
+However, this simplicity is partly hindered by the special treatment given to the scope of instances, for which there are not control on exportation and importation.
+As defined in the Modules chapter of the Haskell 2010 Report \citep[section~5.4]{report}, a type class ``instance declaration is in scope if and only if a chain of \texttt{import} declarations leads to the module containing the instance declaration''.
Because of this, it is not possible for a module to import two modules that defines the same instance, that is, an instance of the same type class to the same data type, if the importing module, or any module that imports it, use the instance. This happens if the both if the definitions are different or the same on the different modules. This is a
serious

0 comments on commit dfe04cf

Please sign in to comment.