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 racket-users+unsubscr...@googlegroups.com.
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