Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Mention explicitly the problem.

  • Loading branch information...
commit dfe04cfc4f94e58179cbeb40618e96711abdf1e6 1 parent 2e8b64a
@marcotmarcot authored
Showing with 4 additions and 7 deletions.
  1. +4 −7 marcot.tex
View
11 marcot.tex
@@ -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
Please sign in to comment.
Something went wrong with that request. Please try again.