Friday , I started a response to the several comments on my
previous post . I ended the weekend with the few lines of K
below , which , lines of K being worth lots of lines of other
things , will provide context . Since it`s sort of a kernel
abstracting the essential extensibility-from-within that is
what has made CoSy survive up to now , I`ve called it that .
.CoSy.Current : , " Current ,: , \" \" "
.CoSy.Current..kr : " r : . * _v _i "
.CoSy..c : `form ; `show $/: `.CoSy `.CoSy.r ;
It Displays the line |k| Current ,: , " " /k| , which , if
you right click it , creates a new line in the display .
( Thanks Andrei , for mentioning .kr . It`s not in my downloaded
documentation . )
Move focus to that line , write an executable K expression there ,
and right click it . Nothing happens . Move focus off the line ,
then right click on it again , and the line will be executed and
any result displayed in .CoSy.r .
Despite the clumsinesses of having to shift focus and resort to
the mouse any time I want to execute anything , I expect to live
in this essential edit and execute loop as long as I use K .
I`m sure I can do quite a lot with the 3 signals available .
This is the piece of interface that will count to me , and ,
of course , it`s the basic input widget for K .
I`ve always felt K showed its legacy of presenting masses of
inputs done by someone else . The input side seems to have an
air of incompletion about it . ( The relatively recent
reification of .kr augers the notion . )
All that`s needed is that _i extended to include the cursor
position within the line of text , and a " .kb " event
be added with the keyboard index of the event returned
in , e.g. , _kb .
( `BobA ; "
http://CoSy.com" )
--
Incidentally Andrei , when I first tried setting up a Keyboard
execution table , it was on 4MHz 8088 .