[prev in list] [next in list] [prev in thread] [next in thread] 

List:       racket-users
Subject:    [racket] handin-server errors
From:       robby () eecs ! northwestern ! edu (Robby Findler)
Date:       2012-01-24 1:34:31
Message-ID: CAL3TdOPCc+RFRNrCDqCTwOxqin_fMQK03psg4=Q7vzUWQxci-g () mail ! gmail ! com
[Download RAW message or body]

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic