[project @ 1999-11-23 11:43:25 by simonpj]
[ghc-hetmet.git] / ghc / interpreter / connect.h
index 0864ba8..bf79c88 100644 (file)
@@ -8,8 +8,8 @@
  * included in the distribution.
  *
  * $RCSfile: connect.h,v $
- * $Revision: 1.12 $
- * $Date: 1999/10/20 02:15:59 $
+ * $Revision: 1.16 $
+ * $Date: 1999/11/17 16:57:38 $
  * ------------------------------------------------------------------------*/
 
 /* --------------------------------------------------------------------------
@@ -78,6 +78,9 @@ extern Name  namePrint;                 /* printing primitive              */
 extern Name  nameCreateAdjThunk;        /* f-x-dyn: create adjustor thunk  */
 extern Text  textPrelude;
 extern Text  textNum;                   /* used to process default decls   */
+extern Text  textCcall;                 /* used to process foreign import  */
+extern Text  textStdcall;               /*         ... and foreign export  */
+
 #if    NPLUSK
 extern Text  textPlus;                  /* Used to recognise n+k patterns  */
 #endif
@@ -157,7 +160,6 @@ extern Bool  gcMessages;                /* TRUE => print GC messages       */
 extern Bool  literateScripts;           /* TRUE => default lit scripts     */
 extern Bool  literateErrors;            /* TRUE => report errs in lit scrs */
 extern Bool  showInstRes;               /* TRUE => show instance resolution */
-extern Bool  optimise;                  /* TRUE => simplify STG            */
 
 extern Int   cutoff;                    /* Constraint Cutoff depth         */
 
@@ -204,7 +206,9 @@ extern  Void   projInput        Args((String));
 extern  Void   stringInput      Args((String));
 extern  Void   parseScript      Args((String,Long));
 extern  Void   parseExp         Args((Void));
+#if EXPLAIN_INSTANCE_RESOLUTION
 extern  Void   parseContext     Args((Void));
+#endif
 extern  String readFilename     Args((Void));
 extern  String readLine         Args((Void));
 extern  Syntax defaultSyntax    Args((Text));
@@ -235,6 +239,7 @@ extern  Void   addTupInst       Args((Class,Int));
 extern  Inst   addRecShowInst   Args((Class,Ext));
 extern  Inst   addRecEqInst     Args((Class,Ext));
 #endif
+extern  List   typeVarsIn      Args((Cell,List,List,List));
 extern  List   oclose          Args((List,List));
 extern  List   zonkTyvarsIn    Args((Type,List));
 extern  Type   zonkTyvar       Args((Int));
@@ -242,6 +247,9 @@ extern  Type   zonkType             Args((Type,Int));
 extern  Void   primDefn         Args((Cell,List,Cell));
 extern  Void   defaultDefn      Args((Int,List));
 extern  Void   checkExp         Args((Void));
+#if EXPLAIN_INSTANCE_RESOLUTION
+extern  Void   checkContext    Args((Void));
+#endif
 extern  Void   checkDefns       Args((Void));
 extern  Bool   h98Pred          Args((Bool,Cell));
 extern  Cell   h98Context       Args((Bool,List));
@@ -301,6 +309,9 @@ extern  Void   gcCStack         Args((Void));
 extern  Void   needPrims        Args((Int)); 
 extern  List   calcFunDepsPreds Args((List));
 extern  Inst   findInstFor      Args((Cell,Int));
+#if MULTI_INST
+extern  List   findInstsFor     Args((Cell,Int));
+#endif
 
 extern Type primType( Int /*AsmMonad*/ monad, String a_kinds, String r_kinds );
 #define aVar            mkOffset(0)     /* Simple skeleton for type var    */
@@ -474,10 +485,10 @@ extern Type typeException;
 extern Type typeIO;
 extern Type typeST;
 
-extern  Void   foreignImport    Args((Cell,Pair,Cell,Cell));
+extern  Void   foreignImport    Args((Cell,Text,Pair,Cell,Cell));
 extern List  foreignImports;            /* foreign import declarations     */
 extern  Void   implementForeignImport Args((Name));
-extern  Void   foreignExport   Args((Cell,Cell,Cell,Cell));
+extern  Void   foreignExport   Args((Cell,Text,Cell,Cell,Cell));
 extern List  foreignExports;            /* foreign export declarations     */
 extern  Void   implementForeignExport Args((Name));
 
@@ -528,7 +539,6 @@ extern Void unlexStrConst  Args((Text));
 extern Void unlexVar       Args((Text));
 extern List offsetTyvarsIn          Args((Type,List));
 
-extern Void optimiseTopBinds  Args((List));
 extern List cfunSfuns;                  /* List of (Cfun,[SelectorVar])    */
 
 extern Void  interface        Args((Int));