Information on Assignment 1 syntax checker restrictions
The syntax checker restrictions for this assignment fall into one of
the following categories
1. Advanced Scheme constructs
There are a number of Scheme constructs I am prohibiting for at least
the first few assignments so that students learn to program
functionally instead of procedurally:
- iteration constructs: do, named lets, etc.
- mutators: such as set!
- eval
- begin and multiple forms in implicit begins:
right now, we do not require any side effects, so there is no reason
to have multiple forms in an (implicit) begin
Most, if not all, the restrictions in this category will be lifted
after the third or fourth assignment.
2. Security/integrity concerns
For the security and integrity of the web tester, any Scheme
constructs that fall in the following categories are prohibited:
- file I/O of any sort, except for loading provided support code
- operating system calls of any sort
- any code attempting to interfere with any component of the web tester
We have never had a problem with any of this, and I don't expect
to, but here's the warning anyway: to the extent that any uploaded
code might be intended to maliciously or fraudulently interfere with
the web tester, that action will be treated as a instance of academic
dishonesty.
whuang@cs.rpi.edu;
email
Last update: September 2, 2002