"Hate scrollling"!

181 views
Skip to first unread message

Bakul Shah

unread,
Nov 19, 2013, 8:57:23 PM11/19/13
to kona...@googlegroups.com
http://archive.vector.org.uk/art10500700

Arthur Whitney presented his work in progress on k -- a
research version of the kdb+ interpreter.
....
The k binary weighs in at about 50Kb. Someone asked about
the interpreter source code. A frown flickered across the
face of our visitor from Microsoft: what could be
interesting about that? The source is currently 264 lines
of C, said Arthur. I thought I heard a sotto voce thats
not possible. Arthur showed us how he had arranged his
source code in five files so that he could edit any one of
them without scrolling. Hate scrolling, he mumbled.

I don't know whether to be inspired by this or just give up
being a programmer!

Kevin Lawler

unread,
Nov 19, 2013, 11:57:29 PM11/19/13
to kona...@googlegroups.com
Very cool.
 
I don't know whether to be inspired by this or just give up
being a programmer!

I hope people see Arthur's work and are inspired. His are important ideas to keep alive in computing.

Bakul Shah

unread,
Nov 20, 2013, 1:48:33 AM11/20/13
to kona...@googlegroups.com
Indeed. Does this inspire you to redo kona? :-)

From kparc.com/k.txt:

Verb Adverb Noun(null list)
: gets self ' each|bn ': eachprior Bool 0b 011b
+ plus flip / over|sv /: eachright Char " " "ab"
- minus negate \ scan|vs \: eachleft Int 0N 2 23
* times first Flt 0n 2 .3
% div sqrt Sym ` ``ab
! mod|dct til|key
& min|and where System Verbs date 2032.03.01
| max|or reverse 0: write read(line) time 0T12:34:56
< less asc 1: write read(byte)
> more desc 2: sock open/close list (2;3.4;`c)
= equal group 3: http kson dict [a:2;b::a]
~ match not func {(+/x)%#x}
, join enlist view f::32+1.8*c
^ except null
# take|rsh count \l a.k load
_ drop|cut floor \t:n x time
$ cast|pad string $[c;t;f] \v variables
? find|rnd unique ?[x;y;z[;r]] \f functions
@ at type @[x;y;z[;r]] \w workspace
. eval dot .[x;y;z[;r]] \d directory

function parameters are x,y,z.
unary list needs ",", e.g. 2(atom) ,2(list)
unary verb needs ":", e.g. #'(take each) #:'(count each)
parse: E:E;e|e e:nve|te| t:n|v v:tA|V n:(E)|{E}|[E]|t[E]|N
overload: L!L !D .D i? i$ F$(+/*) S$(ss)

I like how Whitney is finetuning the language.

Kevin Lawler

unread,
Nov 20, 2013, 3:12:16 AM11/20/13
to kona...@googlegroups.com
Indeed. Does this inspire you to redo kona? :-)

Hm. That tug is always there. Revisiting the subject tonight, I think I would like more to see Arthur open-source his K, and for lots of other people to write K dialects of their own.
Reply all
Reply to author
Forward
0 new messages