Hi everyone,
After trying to implement some changes Sage suggested (all errors are my
own), I am now encountering the following message (courtesy of DrRacket):
"head: unbound identifier in: head"
Could someone help me find a fix?
As before, I welcome suggestions on how to better do this the functional
programming way.
Karona
;example.rkt
#lang racket
(require racket/match)
(struct message (str sender recipient))
(define (say chat-history m)
(cons m
chat-history))
(define (log chat-history m)
(cons m
chat-history))
(let loop ()
(display "Input: ")
(define input (message (read-line (current-input-port) 'any)
"participant" "me"))
(define str (message-str input))
(log chat-history input)
(cond
[(regexp-match #px"(?i:Hello,* world!)" str)
(say chat-history (message "I would not know about the rest of the
world, but I can hear \
you just fine." "me" "participant" "me" "participant"))]
[(regexp-match #px"(?i:I( am|'m) learning how to program in Racket,*
world!)" str)
(say chat-history (message "Racket is a great language, and it is
lovely that you are \
learning it, but does literally everyone need to know?" "me"
"participant"))]
[(regexp-match #px".*,+\\s*world!" str)
(say chat-history (message "Did the whole world really need to hear
that?" "me" "participant"))]
[else (say chat-history (message "Did you really just say something
without addressing the \
world? I am so proud of you! :,)" "me" "participant"))])
(define hd (head chat-history))
(define s (message-str hd))
(printf "Chatbot: ~a\n" s)
(loop))
--
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/ae6488a3-3b70-4de7-8a1f-8f5526e63580n%40googlegroups.com.