[racket] handin-server errors
I'm not sure of the right fix, but I think the issue is that
(!procedure f 1) means "evaluate f. check and see if the value that
comes back is a procedure of arity 1". But 'f' in bsl is bound to a
macro that signals an error; it collaborates with the #%app macro from
bsl to actually get the function out.
Robby
On Mon, Jan 23, 2012 at 3:54 PM, <jmj at fellowhuman.com> wrote:
> Hi all,
>
> Continuing my quest to get the handin-server set up, I've been trying to
> get a simple checker working. Two problems have arisen:
>
> 1) I followed the procedure in the help docs, creating a checker.rkt file
> in the assignment directory, and headed the file with
> #lang handin-server/checker
> which provoked an error saying that handin-server/checker/lang was not
> found in my collections path. I found that it worked if I modified the
> line to
> #lang s-exp handin-server/checker
> So my question is, is that what I should be doing? (For the record, the
> handin-server collection _is_ in my collections path.)
>
> 2) With that modification, I tried writing a simple checker:
>
> ;; -- checker.rkt --
> #lang s-exp handin-server/checker
>
> (check: :language '(special beginner)
> :users pairs-or-singles-with-warning
> (!integer TRY)
> (!procedure f 1))
> ;; -- end checker.rkt --
>
> When I attempt to hand in a file from DrR, it behaves as I would expect
> when f is not defined in the file -- i.e., it signals an error -- but when
> f *is* defined, I get this error:
>
> "submit error: while evaluating f:
> eval:2:0: f: expected a function call, but there is no open parenthesis
> before this function in: f"
>
> This suggests to me that the handin server is evaluating ``f'' in the
> (check: ...) expression, using BSL. My assumption based on the docs was
> that !procedure is a macro, and thus shouldn't be evaluating its first
> argument as an expression. Is there something I'm misunderstanding? What
> can I do to fix this?
>
> Thanks,
> jmj
>
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users