/* ----------------------------------------------------------------------------
- * $Id: RtsAPI.c,v 1.18 2000/08/07 23:37:23 qrczak Exp $
+ * $Id: RtsAPI.c,v 1.22 2000/11/13 14:40:37 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
Building Haskell objects from C datatypes.
------------------------------------------------------------------------- */
HaskellObj
-rts_mkChar (unsigned int c)
+rts_mkChar (HsChar c)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
p->header.info = Czh_con_info;
}
HaskellObj
-rts_mkInt (int i)
+rts_mkInt (HsInt i)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
p->header.info = Izh_con_info;
}
HaskellObj
-rts_mkInt8 (int i)
+rts_mkInt8 (HsInt8 i)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
/* This is a 'cheat', using the static info table for Ints,
}
HaskellObj
-rts_mkInt16 (int i)
+rts_mkInt16 (HsInt16 i)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
/* This is a 'cheat', using the static info table for Ints,
}
HaskellObj
-rts_mkInt32 (int i)
+rts_mkInt32 (HsInt32 i)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
/* see mk_Int8 comment */
}
HaskellObj
-rts_mkInt64 (long long int i)
+rts_mkInt64 (HsInt64 i)
{
long long *tmp;
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,2));
}
HaskellObj
-rts_mkWord (unsigned int i)
+rts_mkWord (HsWord i)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
p->header.info = Wzh_con_info;
}
HaskellObj
-rts_mkWord8 (unsigned int w)
+rts_mkWord8 (HsWord8 w)
{
/* see rts_mkInt* comments */
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
}
HaskellObj
-rts_mkWord16 (unsigned int w)
+rts_mkWord16 (HsWord16 w)
{
/* see rts_mkInt* comments */
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
}
HaskellObj
-rts_mkWord32 (unsigned int w)
+rts_mkWord32 (HsWord32 w)
{
/* see rts_mkInt* comments */
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
}
HaskellObj
-rts_mkWord64 (unsigned long long w)
+rts_mkWord64 (HsWord64 w)
{
unsigned long long *tmp;
}
HaskellObj
-rts_mkFloat (float f)
+rts_mkFloat (HsFloat f)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,1));
p->header.info = Fzh_con_info;
}
HaskellObj
-rts_mkDouble (double d)
+rts_mkDouble (HsDouble d)
{
StgClosure *p = (StgClosure *)allocate(CONSTR_sizeW(0,sizeofW(StgDouble)));
p->header.info = Dzh_con_info;
}
HaskellObj
-rts_mkStablePtr (StgStablePtr s)
+rts_mkStablePtr (HsStablePtr s)
{
StgClosure *p = (StgClosure *)allocate(sizeofW(StgHeader)+1);
p->header.info = StablePtr_con_info;
}
HaskellObj
-rts_mkAddr (void *a)
+rts_mkAddr (HsAddr a)
{
StgClosure *p = (StgClosure *)allocate(sizeofW(StgHeader)+1);
p->header.info = Azh_con_info;
#ifdef COMPILER /* GHC has em, Hugs doesn't */
HaskellObj
-rts_mkBool (StgBool b)
+rts_mkBool (HsBool b)
{
if (b) {
return (StgClosure *)True_closure;
rts_apply (HaskellObj f, HaskellObj arg)
{
StgAP_UPD *ap = (StgAP_UPD *)allocate(AP_sizeW(1));
- SET_HDR(ap, &AP_UPD_info, CCS_SYSTEM);
+ SET_HDR(ap, &stg_AP_UPD_info, CCS_SYSTEM);
ap->n_args = 1;
ap->fun = f;
- ap->payload[0] = (P_)arg;
+ ap->payload[0] = arg;
return (StgClosure *)ap;
}
Deconstructing Haskell objects
------------------------------------------------------------------------- */
-unsigned int
+HsChar
rts_getChar (HaskellObj p)
{
if ( p->header.info == Czh_con_info ||
}
}
-int
+HsInt
rts_getInt (HaskellObj p)
{
if ( 1 ||
}
}
-int
+HsInt32
rts_getInt32 (HaskellObj p)
{
if ( 1 ||
}
}
-unsigned int
+HsWord
rts_getWord (HaskellObj p)
{
if ( 1 || /* see above comment */
}
}
-unsigned int
+HsWord32
rts_getWord32 (HaskellObj p)
{
if ( 1 || /* see above comment */
}
}
-float
+HsFloat
rts_getFloat (HaskellObj p)
{
if ( p->header.info == Fzh_con_info ||
}
}
-double
+HsDouble
rts_getDouble (HaskellObj p)
{
if ( p->header.info == Dzh_con_info ||
}
}
-StgStablePtr
+HsStablePtr
rts_getStablePtr (HaskellObj p)
{
if ( p->header.info == StablePtr_con_info ||
}
}
-void *
+HsAddr
rts_getAddr (HaskellObj p)
{
if ( p->header.info == Azh_con_info ||
}
#ifdef COMPILER /* GHC has em, Hugs doesn't */
-int
+HsBool
rts_getBool (HaskellObj p)
{
if (p == True_closure) {