<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">You need to give arg-names as well...... <div>In essence, only full-fledged signatures are allowed.....</div><div><br></div><div>[Slightly surprising when considering C'ish  prototypes, ....]</div><div><br></div><div>Bodo</div><div><br><div><div>On 7 Oct 2011, at 16:35, Vlad Ureche wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><div class="gmail_quote">On Fri, Oct 7, 2011 at 5:04 PM, Scholz, Sven-Bodo <span dir="ltr"><<a href="mailto:s.scholz@herts.ac.uk">s.scholz@herts.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div style="word-wrap: break-word;"><br><div>you missed out putting a return type there.</div><div>Sorry, that the error-message is slightly misleading.</div><div></div></div></blockquote><div><br>Thank you for the quick answer. Unfortunately I still couldn't make it parse:<br>

<br>--------------------------<br>ABORT: line 72  file: specialize.sac<br>ABORT: syntax error at pos 47: ',`<br>ABORT: specialize int[.,.] processMatrix(int[100,100], int);<br>ABORT:                                               ^ (the cursor indicates the error at the comma between int[100,100] and int)<br>

<br>*** Compilation failed ***<br>*** Exit code 1 (Loading SAC program)<br>*** 1 Error(s), 0 Warning(s)<br>--------------------------<br><br>I tried several combinations and it doesn't seem to accept any of them. Could you please paste the grammar rules that take care of the specialization parsing? Maybe I'm missing a special character I need to place somewhere.<br>

<br>Just for the record, I managed to work around this by creating specialized versions of this function that call the generic one and a dispatch:<br><br>int[.,.] processMatrixSpecialized100(int [100, 100] array, int times) = { return processMatrixGeneric(array, times); }<br>

int[.,.] processMatrixSpecialized150(int [150, 150] array, int times) = { return processMatrixGeneric(array, times); }<br>int[.,.] processMatrix(int [.,.] array, int times) = { if (all(shape(array) == [100, 100])) processMatrixSpecialized100(array, times); ... }<br>

<br><br>Thank you!<br><br></div></div>Vlad Ureche<br><br>
<span><ATT00001.c></span></blockquote></div><br></div></body></html>