* included in the distribution.
*
* $RCSfile: link.c,v $
- * $Revision: 1.53 $
- * $Date: 2000/03/22 18:14:22 $
+ * $Revision: 1.58 $
+ * $Date: 2000/04/07 16:22:12 $
* ------------------------------------------------------------------------*/
-#include "prelude.h"
+#include "hugsbasictypes.h"
#include "storage.h"
#include "connect.h"
#include "errors.h"
Name nameMult;
Name nameMFail;
Type typeOrdering;
+Module modulePrelPrim;
Module modulePrelude;
Name nameMap;
Name nameMinus;
-
/* --------------------------------------------------------------------------
* Frequently used type skeletons:
* ------------------------------------------------------------------------*/
tc = findTyconInAnyModule(findText(s));
if (nonNull(tc)) return tc;
}
-fprintf(stderr, "frambozenvla! unknown tycon %s\n", s );
+FPrintf(stderr, "frambozenvla! unknown tycon %s\n", s );
return NIL;
ERRMSG(0) "Prelude does not define standard type \"%s\"", s
EEND;
cc = findClassInAnyModule(findText(s));
if (nonNull(cc)) return cc;
}
-fprintf(stderr, "frambozenvla! unknown class %s\n", s );
+FPrintf(stderr, "frambozenvla! unknown class %s\n", s );
return NIL;
ERRMSG(0) "Prelude does not define standard class \"%s\"", s
EEND;
n = findNameInAnyModule(findText(s));
if (nonNull(n)) return n;
}
-fprintf(stderr, "frambozenvla! unknown name %s\n", s );
+FPrintf(stderr, "frambozenvla! unknown name %s\n", s );
return NIL;
ERRMSG(0) "Prelude does not define standard name \"%s\"", s
EEND;
if (!initialised) {
Int i;
initialised = TRUE;
- setCurrModule(modulePrelude);
+ if (combined) {
+ setCurrModule(modulePrelude);
+ } else {
+ setCurrModule(modulePrelPrim);
+ }
typeChar = linkTycon("Char");
typeInt = linkTycon("Int");
Int i;
initialised = TRUE;
- setCurrModule(modulePrelude);
+ if (combined) {
+ setCurrModule(modulePrelude);
+ } else {
+ setCurrModule(modulePrelPrim);
+ }
/* constructors */
nameFalse = linkName("False");
if (!initialised) {
initialised = TRUE;
- setCurrModule(modulePrelude);
+ if (combined) {
+ setCurrModule(modulePrelude);
+ } else {
+ setCurrModule(modulePrelPrim);
+ }
/* primops */
nameMkIO = linkName("hugsprimMkIO");
Module modulePrelBase = findModule(findText("PrelBase"));
assert(nonNull(modulePrelBase));
/* fprintf(stderr, "linkControl(POSTPREL)\n"); */
- setCurrModule(modulePrelude);
+ setCurrModule(modulePrelude);
linkPreludeTC();
linkPreludeCM();
linkPrimNames();
} else {
fixupRTStoPreludeRefs(NULL);
- modulePrelude = //newModule(textPrelude);
- findFakeModule(textPrelude);
- setCurrModule(modulePrelude);
+ modulePrelPrim = findFakeModule(textPrelPrim);
+ modulePrelude = findFakeModule(textPrelude);
+ setCurrModule(modulePrelPrim);
for (i=0; i<NUM_TUPLES; ++i) {
if (i != 1) addTupleTycon(i);
}
- setCurrModule(modulePrelude);
+ setCurrModule(modulePrelPrim);
typeArrow = addPrimTycon(findText("(->)"),
pair(STAR,pair(STAR,STAR)),