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
-~----------~----~----~----~------~----~------~--~---

Reply via email to