On 26/11/2007, <b class="gmail_sendername">Christian S</b> <<a href="mailto:chsu79@gmail.com">chsu79@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As for remote procedure-calls my current feeling is that this would<br>look quite okay: "Mod:Fun(Arg1, Arg2,...)" as "(:(Mod Fun) Arg1 Arg2<br>...)" a local call would be just (Fun Arg1 Arg2 ...) and that's the
<br>common case. Does well with hierarchical module names too.<br><br>It follows common lisp syntax for arrays "#(1 2 3)" and for quoting<br>literals "'(a b c)" .</blockquote><div><br>That would work ok and not be too unlispy. The question is how would you handle the different cases where parts are either atoms or variables:
<br><br>mod:func( ... )<br>Mod:func( ... )<br>Mod:Func( ... )<br><br>You would then have to start using quotes inside the :( ... ) construct and it would look strange for the common case:<br><br>(:('mod 'func) ... )
<br><br>Scheme allows defining a prefix within the a symbol which means it refers to another module (library for them) so you would write:<br><br>(mod:func ... )<br><br>when you know where to go at compiletime. At least that's how I interpreted the spec. Then for the general case you could use:
<br><br>(apply mod 'func ( ... ))<br><br>or how about:<br><br>(: mod func arg1 arg2 ... )<br><br>for all cases?<br><br>Robert<br><br></div></div>