Hello:
 
        I am using GreenCard to import some C code into Haskell. The code I want to import uses "long" in a lot of places. I tried to write my own DIS for it and I also write a very simple test program. However, the DIS does not work properly. My program and test result are as following:
--------------------------------------------------------------------------
module TLong where
 
import Foreign.GreenCard
type Long = Int64
%dis long x = int64 x
 
%dis int64 x    = %%Int64 ({HsInt64} x)
 
%fun tslong ::  Long -> Long
%call (long a1)
%code long a2;
%     a2 = a1;
%     printf("the long integer is %d the original is %d \n", a2, a1);
%result (long (a2))
------------------------------------------------------------------------------
.....
TLong>tslong 1
the long integer is -1073752653 the original is -10173752653
-4611732526480752641
------------------------------------------------------------------------------
        I know it is caused by my DIS, but I have no idea what is the right way to do it. Does anyone know the right way to do it?
       
 
Best Regards
Liwen
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to