projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2000-10-11 15:26:18 by simonmar]
[ghc-hetmet.git]
/
ghc
/
interpreter
/
type.c
diff --git
a/ghc/interpreter/type.c
b/ghc/interpreter/type.c
index
063e469
..
9ce9803
100644
(file)
--- a/
ghc/interpreter/type.c
+++ b/
ghc/interpreter/type.c
@@
-9,8
+9,8
@@
* included in the distribution.
*
* $RCSfile: type.c,v $
* included in the distribution.
*
* $RCSfile: type.c,v $
- * $Revision: 1.33 $
- * $Date: 2000/04/06 00:01:27 $
+ * $Revision: 1.36 $
+ * $Date: 2000/05/26 17:42:18 $
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
@@
-18,6
+18,7
@@
#include "connect.h"
#include "errors.h"
#include "connect.h"
#include "errors.h"
+#include "Rts.h" /* to make StgPtr visible in Assembler.h */
#include "Assembler.h" /* for AsmCTypes */
/*#define DEBUG_TYPES*/
#include "Assembler.h" /* for AsmCTypes */
/*#define DEBUG_TYPES*/
@@
-800,7
+801,7
@@
Cell e; { /* requires polymorphism, qualified*/
for (; nonNull(predsAre); predsAre=tl(predsAre)) {
evs = cons(assumeEvid(hd(predsAre),typeOff),evs);
}
for (; nonNull(predsAre); predsAre=tl(predsAre)) {
evs = cons(assumeEvid(hd(predsAre),typeOff),evs);
}
- if (!isName(h) || !isCfun(h)) {
+ /* we now _always_ do this: if (!isName(h) || !isCfun(h)) */ {
h = applyToArgs(h,rev(evs));
}
}
h = applyToArgs(h,rev(evs));
}
}
@@
-1134,6
+1135,7
@@
List qs; {
case FROMQUAL : { Int beta = newTyvars(1);
saveVarsAss();
case FROMQUAL : { Int beta = newTyvars(1);
saveVarsAss();
+ enterPendingBtyvs();
spCheck(l,snd(snd(q)),NIL,genQual,m,beta);
enterSkolVars();
fst(snd(q))
spCheck(l,snd(snd(q)),NIL,genQual,m,beta);
enterSkolVars();
fst(snd(q))
@@
-1141,7
+1143,7
@@
List qs; {
shouldBe(l,fst(snd(q)),NIL,genQual,aVar,beta);
typeComp(l,m,e,qs1);
restoreVarsAss();
shouldBe(l,fst(snd(q)),NIL,genQual,aVar,beta);
typeComp(l,m,e,qs1);
restoreVarsAss();
- doneBtyvs(l);
+ leavePendingBtyvs();
leaveSkolVars(l,typeIs,typeOff,0);
}
break;
leaveSkolVars(l,typeIs,typeOff,0);
}
break;