<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
     :- type myuniv<br>
          --->    b(bool)<br>
          ;       i(int)<br>
          ;       f(float)<br>
          ;       s(string).<br>
<br>
That would avoid your use of RTTI operations to look up type names and<br>
the resulting calls to strcmp() in the bodies of the various<br>
compose_to_univ_* foreign_procs.<br>
<br>
(Aside: looking at the R documentation it seems that R's ints are<br>
32-bit, so perhaps that should be int32 above not an int.)<br></blockquote></div><div dir="auto"><br></div><div dir="auto">You're both right and I'll soon be changing this over. </div><div dir="auto"><br></div><div dir="auto">As for R's int type, yes it is oddly enough int32. This is a well-known obsolescence issue with R. There are R team proposals to move this to int64 but as far as I can tell these have not been implemented. In the forward sense (Mercury to R) this raises an acknowledged issue that I have not dealt with so far for Mercury ints bigger than int32 max size. It's on my todo list.</div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div>
</div></div></div>