Daniel Lyons wrote: > I hope I misunderstood the phrase "explicit non-matches", because I > believe that problem is intractable, or at least leads to > unpleasantries like negation of the expression "foo" being "[^f]|[^f] > [^o]|[^f][^o][^o]|f[^o]|fo[^o]|f$|fo$|^$", which I'm not even sure > would really work and I doubt looks more tractable or pleasant from > context-free or context-sensitive languages. Imagine what that would > be like for a complicated expression. Also there's a difference > between the negation of a match and the match of a negated expression; > negating "I have a match" doesn't seem to be the same as negating "I > have no match"—what's the location, length and content of the negated > non-match? (Am I high?)
"Explicit non-match" means that nil can mean well-defined things in particular contexts. No voodoo goin' on here. It means that, if the bot gets an input string that it can't even partially match, it looks at the current context - like, in which mode ist the conversation currently? -, and computes an output from that. So an "explicit non- match" for a particular nil might be (list OS B C), a memory address at which there is a function which computes the output for this nil in this context. The problem of negation is different, and has to be dealt with explicitly (the "meaningful nil" is something the bot does, but doesn't necessarily discuss, so it's an implicit thing). And my solution to negation is that, in fact, for every "object" the bot can discuss, there must be an equaly-dimensioned "non-object", and every mention of "verbing" behavior necessitates the existence of an explicitly mentionable "non-verbing" behavior. The user must be able to negate everything (because they will!). If you have two distinct objects, then double-negation simply can self-eliminate, and even if you get input where there's 17 times negation prefixed to the object, the worst that can happen is you have to throw them off, pair-wise, recursively (of course, there'll be larger patterns for frequently called bullshit). Gee, this seems like a live bunch of people here. Dirk Dirk --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---