<br>I just pushed a commit that updates the error messages of the teaching<br>languages. With this update, *SL now agrees with the rules of the error message<br>composition guidelines we sent last month.<br><br>If you try the *SL languages from the git repository, you will now see that the<br>
error messages restrain themselves to a smaller vocabulary base. The sentences<br>are now simpler, and more consistent between error messages. The error messages<br>of check-expect, world and universe are now consistent with those of the<br>
language itself. I also updated the documentation to the new vocabulary, and<br>cleaned their layout a bit.<br><br>Here are a few examples of the changes you will see.<br><br><br><font class="Apple-style-span" face="'courier new', monospace"> old error message new error message<br>
--------------------------------- ------------------------------------<br><br>image: name is not defined, not a image: this variable is not defined<br>parameter, and not a primitive name<br><br><br>planes-direction: this selector planes-direction: expects 1 argument, <br>
expects 1 argument, here it is but found none <br>provided 0 arguments <br><br><br>define: expected a name for the define: expected a variable, but <br>
function's 1st argument, but found found something else <br>something else <br><br><br>function call: expected a defined function call: expected a function <br>
function name or a primitive after the open parenthesis, but found <br>operation name after an open a number <br>parenthesis, but found a number <br>
<br><br>cons: second argument must be of cons: second argument must be a <br>type <list or cyclic list>, given 1 list, but received 1 and 2 <br>and 2 <br>
<br>---------------------------------------------------------------------------<br></font><br><br>This is a somewhat large patch, and it does not limit itself to changing<br>strings, as one might expect. I had to change a fair amount of code to get the<br>
new error messages working, notably in places where *SL leaked error<br>messages from the professional language.<br><br>So, to everyone reading this,<br> <br>[1] Please make sure all the code you use to teach it still works correctly. <br>
If something breaks, e-mail me and I will try to address the problem<br> right away.<br> <br><br>[2] If you are the author of a teachpack, please update your error messages<br> to match this new style. You can follow the error message completion<br>
guidelines, which are now in the main documentation under the "How to<br> Design Programs Teachpacks" header. Send me e-mail if you need help.<br><br><br>[3] There is a layout problem in my new documentation I need help with. I<br>
tried to abstract the common text between the documentation of the<br> different levels. Possibly because I didn't do it correctly, the macro I<br> am using confuses the layout engine, and it is now inserting lots of<br>
spurious new lines whenever there is a @defform. Look at the<br> documentation for beginner's COND, you'll see what the problem is.<br><br><br>As always, let us know what you think, feedback is welcome, etc.<br>
<br>Guillaume<br>