[racket] handin-server errors

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Mon Jan 23 20:34:31 EST 2012

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


Posted on the users mailing list.