More constructors-with-context fixes:
* Don't inline bytecode constructor calls if constructor has a context
* Fix bug in startGHCDataDecl which caused loss of context in
iface constructor types.
* Hugs version 1.4, December 1997
*
* $RCSfile: interface.c,v $
* Hugs version 1.4, December 1997
*
* $RCSfile: interface.c,v $
- * $Revision: 1.46 $
- * $Date: 2000/04/05 10:25:08 $
+ * $Revision: 1.47 $
+ * $Date: 2000/04/06 15:05:30 $
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
for (ctx=ctx0; nonNull(ctx); ctx=tl(ctx)) {
ctxElem = hd(ctx);
/* ctxElem :: ((QConId,VarId)) */
for (ctx=ctx0; nonNull(ctx); ctx=tl(ctx)) {
ctxElem = hd(ctx);
/* ctxElem :: ((QConId,VarId)) */
- if (nonNull(cellIsMember(textOf(zsnd(ctxElem)),tyvarsMentioned)))
+ if (nonNull(varIsMember(textOf(zsnd(ctxElem)),tyvarsMentioned)))
ctx2 = cons(ctxElem, ctx2);
}
if (nonNull(ctx2))
ctx2 = cons(ctxElem, ctx2);
}
if (nonNull(ctx2))
* included in the distribution.
*
* $RCSfile: storage.c,v $
* included in the distribution.
*
* $RCSfile: storage.c,v $
- * $Revision: 1.65 $
- * $Date: 2000/04/06 14:23:55 $
+ * $Revision: 1.66 $
+ * $Date: 2000/04/06 15:05:30 $
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
Cell varIsMember(t,xs) /* Test if variable is a member of */
Text t; /* given list of variables */
List xs; {
Cell varIsMember(t,xs) /* Test if variable is a member of */
Text t; /* given list of variables */
List xs; {
+ assert(isText(t) || isInventedVar(t) || isInventedDictVar(t));
for (; nonNull(xs); xs=tl(xs))
if (t==textOf(hd(xs)))
return hd(xs);
for (; nonNull(xs); xs=tl(xs))
if (t==textOf(hd(xs)))
return hd(xs);
* included in the distribution.
*
* $RCSfile: translate.c,v $
* included in the distribution.
*
* $RCSfile: translate.c,v $
- * $Revision: 1.32 $
- * $Date: 2000/04/06 14:23:55 $
+ * $Revision: 1.33 $
+ * $Date: 2000/04/06 15:05:30 $
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
if ( (isName(e) && isCfun(e)
&& name(e).arity > 0
&& name(e).arity == length_args
if ( (isName(e) && isCfun(e)
&& name(e).arity > 0
&& name(e).arity == length_args
+ && !name(e).hasStrict
+ && numQualifiers(name(e).type) == 0)
||
(isTuple(e) && tycon(e).tuple == length_args)
) {
||
(isTuple(e) && tycon(e).tuple == length_args)
) {