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, <j...@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 ____________________ Racket Users list: http://lists.racket-lang.org/users