[racket] handin-server errors
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