<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>I'm sorry for you That I didn't exampled my self my point (perhaps I'm being too abstract for this point), but if you cared to tell all that I will say it more openly:<br>Doing that type conversion as the first url says (look third row at the beginning a. literal)<br>http://web.cs.mun.ca/~ulf/pld/mocplus.html#subclassing<br><br>You will break the modular safety.<br>However I'm telling you that one can make such an abstraction in Modula-3 (in Baby sized language) with functional programming making obeying subtype fcntl1 <: fcntl2, of course Jay I suppose your fcntl1 is badly signed, am I right?<br><br><br>OK, I hope I'm being clearer.<br>Thanks for the patience of all of that, in advance<br><br>--- El <b>sáb, 14/7/12, Jay <i><jay.krell@cornell.edu></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left:
 5px; padding-left: 5px;"><br>De: Jay <jay.krell@cornell.edu><br>Asunto: Re: [M3devel] fcntl last parameter int vs. pointer<br>Para: "Daniel Alejandro Benavides D." <dabenavidesd@yahoo.es><br>CC: "m3devel" <m3devel@elegosoft.com>, "Jay K" <jay.krell@cornell.edu><br>Fecha: sábado, 14 de julio, 2012 20:11<br><br><div id="yiv55070394"><div><div>Daniel your replies are pointless. You have exhausted my patience.</div><div><br></div><div><br><br> - Jay (briefly/pocket-sized-computer-aka-phone)</div><div><br>On Jul 14, 2012, at 8:31 AM, "Daniel Alejandro Benavides D." <<a rel="nofollow" ymailto="mailto:dabenavidesd@yahoo.es" target="_blank" href="/mc/compose?to=dabenavidesd@yahoo.es">dabenavidesd@yahoo.es</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit;
 font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top">Hi all:<br>In fact both C and Modula-3 don't allow a signature change, original C compiler and decompiler type check the signature, although type casting is possible in both languages:<br><a rel="nofollow" target="_blank" href="http://web.cs.mun.ca/%7Eulf/pld/mocplus.html">http://web.cs.mun.ca/~ulf/pld/mocplus.html</a><br><br>However, when talking about a functional language you can override as in Baby Modula-3 the type at instantiation time for methods and values, so I guess you can sort of relax the strict rules in that relation of the two object function types (to make it a subtype):<br>http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-95.pdf<br><br>see p. 10 - S. 3.2.4 - Discussion<br><br>I just know they could make it work, but it was very hard complex system.<br><br>Thanks in advance<br><br><br>--- El <b>sáb, 14/7/12, Jay K
 <i><jay.krell@cornell.edu></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Jay K <jay.krell@cornell.edu><br>Asunto: [M3devel] fcntl last parameter int vs. pointer<br>Para: "m3devel" <m3devel@elegosoft.com><br>Fecha: sábado, 14 de julio, 2012 03:27<br><br><div class="yiv55070394plainMail"><br>Thoughts on<br><br>Unix__fcntl(int fd, int request, int arg)<br>{<br>    return fcntl(fd, request, arg);<br>}<br><br>vs.<br><br>Unix__fcntl(int fd, int request, INTEGER arg)<br>{<br><br>    return fcntl(fd, request, arg);<br><br>}<br><br><br><br>where int is 32bits and INTEGER is exactly the same size as a pointer.<br><br><br>Will it "just work" if I change it?<br>arg is sometimes a pointer, sometimes an integer, maybe sometimes other?<br>Ok, let's assume 32bit integer and 32bit or 64bit pointer are the only possibilities.<br>Are there calling conventions that care?
 And will pass the parameter differently/wrong?<br><br><br>Do any calling conventions pack multiple smaller-than-64bit parameters
 into one 64bit register?<br><br><br>I'm *guessing* no.<br>I guess, as well, I can experiment with a few...<br><br><br><br> - Jay<br>                           </div></blockquote></td></tr></tbody></table></div></blockquote></div></div></blockquote></td></tr></table>