Hi everyone! Just joined the Racket User's group. I'm trying to 
conditionally render a paragraph element using a cond and an xexpr but I 
can't make the "xexpr?" function return a #t value and of course the 
response/xexpr function call fails as well. I've kind of fix this by always 
returning a paragraph element regardless is needed or not (of course this 
is not what I want). Here's the working code:

(define (login-template (login-error ""))
  `(html
     (head
       (link ((rel "icon") (href "data:,")))
       (title "Please login"))
     (body
       (form ((action "") (method "post"))
             (label ((for "username")) "Username:")
             (input ((type "text") (name "username") (maxlength "64")))
             (label ((for "password")) "Password:")
             (input ((type "password") (name "password") (maxlength "64")))
             (button ((type "submit") (value "Login")) "Login"))
       ,(cond
          ((not (eq? login-error "")) `(p, login-error))
          (else '(p "Enter your username/password."))))))

However I don't want to display at all the "else" clause as is not needed 
at all, here's the failing code:

(define (login-template (login-error ""))
  `(html
     (head
       (link ((rel "icon") (href "data:,")))
       (title "Please login"))
     (body
       (form ((action "") (method "post"))
             (label ((for "username")) "Username:")
             (input ((type "text") (name "username") (maxlength "64")))
             (label ((for "password")) "Password:")
             (input ((type "password") (name "password") (maxlength "64")))
             (button ((type "submit") (value "Login")) "Login"))
       ,(cond
          ((not (eq? login-error "")) `(p, login-error))))))

The last example fails if the login-error is indeed "" (an empty string). 
Am I missing something like a "null xexpr" usage for the "else" clause or 
something different that needs to be used in these situations? Of the all 
examples out there that I could find and read none of them shows how to do 
something like this. Is there a doc page where can I read about caveats 
using xexprs (if any) or situations like the one I've described?

Thanks for your time,
Lucas.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/48f5b3c7-3ec2-43cc-8f01-60e36acb1e74%40googlegroups.com.

Reply via email to