.. (לתיקייה המכילה) | ||
Is implementing in tail recursion an obligation or recommendation? | |
It is a recommendation. I will not reduce points for implementing a regular recursion instead of a tail recursion. |
Can we use seqToList and listToSeq in our implementation? | |
You may not. |
Q1: The interpreter throws exception: | |
Yes. When it enters an infinite loop it eventually throws this exception. - filterq_n (fn x => x<1) 2 (from 0); val it = Cons (0,fn) : int seq - tail it; uncaught exception Overflow [overflow] raised at: <file stdIn> |
11.1.2012 HW has been updated | |
The change is marked in yellow. Q4 c: manyTail returns bNil and not nNil. |
Do we need to define the new types and given functions (such as bHead bBack etc') | |
Yes, Please define the new types and given functions in the ex4.sml file. Define them publicly (not inside local/let). Note that adding a file to the interpreter doesn't erase what was defined before. Therefor in order to check that you defined everything you use and you don't have errors you should restart the interpreter (close and open it) and then add your file into it and see that everything is defined properly. |
Do we really need internal documentation? | |
Please document "interesting" issues in your code (if there are some). You should not repeat whats described in the questions. If you use helper functions of do anything spacial or complicated please clarify. |
Do we need to to write our output in the examples file (as a comment)? | |
It would be nice. Please do so. |
May we ignore warnings? | |
You may. Make sure that your code doesn't throw exceptions for every valid input (unless it should as described in the question). |