Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Functional > Re: a golden ol...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 8 of 40 Topic 2778 of 2841
Post > Topic >>

Re: a golden oldie challenge: Eliza

by Ken Tilton <kennytilton@[EMAIL PROTECTED] > Feb 23, 2008 at 08:55 PM

Stevan Apter wrote:
> thanks for asking ken.
> 
> e:{$[(#b)=i:(|/'b:(w@[EMAIL PROTECTED]
(w:(`$" "\:x@[EMAIL PROTECTED]
 in".?"))in`)in\:/:A)?1b;E@[EMAIL PROTECTED]
>     " "~n:c@[EMAIL PROTECTED]
(c:{x@[EMAIL PROTECTED]
 i)ss/:N;c
>     .q.ssr[c;n;" "/:$(),P'(w[k],p:1_'(0,1+k:b[i]?1b)_`,w)"I"$n]]}

Wonderful. I will post this over on the Arc forum, I think they are 
headed your way.

So how big a chunk can a K guru toss off without taking a breath, if you 
will? I suppose it is like any language, developing bits and pieces 
before connecting it all. My suspicion is one can get off more 
functionality simply from the lower character count, once they are all 
known fluently.

kenny

> 
> it's just a single eye-watering case statement:
> 
>    if no keyword match in A, then return a default response from E
>    else if no substitution in the response c picked from C, return c
>    else substitute and return
> 
> it's easier to break the q code into smaller chunks.  a revised version
> here:  http://www.nsl.com/k/eliza.q
> 
> 
> "Ken Tilton" <kennytilton@[EMAIL PROTECTED]
> wrote in message 
> news:47c0813e$0$8080$607ed4bc@[EMAIL PROTECTED]
> 
>>
>>
>> Stevan Apter wrote:
>>
>>> in q:
>>>
>>> D:(("1 father|mother|brother|sister 2";"tell me about your 0.");
>>>   ("1 am|i'm 2";"why are you 2|have you always been 2?");
>>>   ("1 i 2";"why do you 2?");
>>>   ("1 you 2";"we're talking about you, not me.|please don't be so 
>>> personal"))
>>>
>>> E:"|"vs"that's very interesting.  do go on.|
>>>        tell me more|
>>>        i'm not sure i understand you fully|
>>>        can you elaborate on that?"
>>>
>>> S:{(`$"|"vs first w where not b;raze w where b:(first each w:" "vs 
>>> x)in"0123456789")}each D[;0]
>>> R:"|"vs'D[;1]
>>> P:{(y,x,z)(x,y)?z}[`$("you";"your";"yourself";"i'm";"i 
>>> am");`$("i";"my";"myself";"you are";"you're")]
>>>
>>> e:{w:(`$" "vs x except".?")except`;                       / words 
>>> except punctuation, blanks
>>>   b:w in\:/:S[;0];                                       / boolean 
>>> mask: words X rules
>>>   if[count[b]=i:(any each b)?1b;:E first 1?count E];     / if no key 
>>> match on a rule, early exit         
>>> p:1_'(0,1+k:b[i]?1b)_`,w;                              / split input 
>>> on key
>>>   r:{x first 1?count x}R i;                              / pick a rule
>>>   n:r first raze r ss/:"0123456789";                     / which part 
>>> of input to replace
>>>   ssr[r;n;" "sv string(),P each(w[k],p)"I"$n]}           / construct 
>>> reply
>>>
>>> in k it's about half the size, but i'll spare you.
>>
>>
>> I'd love to see it, or a link to any other sample K code. I recall 
>> seeing a one page implementation of a spreadsheet, that was wild.
>>
>> kenny

-- 
http://smuglispweeny.blogspot.com/
http://www.theoryyalgebra.com/

"In the morning, hear the Way;
  in the evening, die content!"
                     -- Confucius




 40 Posts in Topic:
a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-22 03:49:44 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-22 03:59:02 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-22 14:09:58 
Re: a golden oldie challenge: Eliza
"John Thingstad"  2008-02-23 13:00:30 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-23 13:21:00 
Re: a golden oldie challenge: Eliza
Ken Tilton <kennytilto  2008-02-23 15:24:42 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-23 16:42:31 
Re: a golden oldie challenge: Eliza
Ken Tilton <kennytilto  2008-02-23 20:55:56 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 07:44:32 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-22 17:12:49 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-22 19:19:31 
Re: a golden oldie challenge: Eliza
Szabolcs <szhorvat@[EM  2008-02-23 14:12:17 
Re: a golden oldie challenge: Eliza
Szabolcs <szhorvat@[EM  2008-02-23 14:26:03 
Re: a golden oldie challenge: Eliza
Ben Bacarisse <ben.use  2008-02-24 00:01:08 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-23 20:14:36 
Re: a golden oldie challenge: Eliza
Szabolcs <szhorvat@[EM  2008-02-24 01:51:00 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-24 03:59:56 
Re: a golden oldie challenge: Eliza
Rainer Joswig <joswig@  2008-02-24 18:29:12 
Re: a golden oldie challenge: Eliza
Neelakantan Krishnaswami   2008-02-24 18:03:20 
Re: a golden oldie challenge: Eliza
Mark Tarver <dr.mtarve  2008-02-24 04:06:09 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 05:30:38 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 08:59:51 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 06:22:31 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 09:37:17 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 06:42:47 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 10:56:28 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 06:57:22 
Re: a golden oldie challenge: Eliza
Dimitre Liotev <notmy@  2008-02-24 10:00:29 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 10:49:22 
Re: a golden oldie challenge: Eliza
Arved Sandstrom <asand  2008-02-24 17:28:25 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-24 13:03:11 
Re: a golden oldie challenge: Eliza
Ken Tilton <kennytilto  2008-02-24 13:59:55 
Re: a golden oldie challenge: Eliza
Dimitre Liotev <notmy@  2008-02-24 11:18:27 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 12:36:12 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 13:11:47 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 13:26:38 
Re: a golden oldie challenge: Eliza
Arved Sandstrom <asand  2008-02-25 17:16:43 
Re: a golden oldie challenge: Eliza
William James <w_a_x_m  2008-02-24 13:35:20 
Re: a golden oldie challenge: Eliza
Brian Adkins <lojicdot  2008-02-25 09:52:13 
Re: a golden oldie challenge: Eliza
"Stevan Apter"   2008-02-25 16:58:13 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri May 16 5:15:19 CDT 2008.