Saturday, February 18, 2012

Modeling the join on the command line

The starting point with this generalized join is that the machine can step two graphs together. This process is enabled with the @ So that character riggers the system to go into binary op mode as in result@{A,B} Right away Lazy J want to drop the brackets when it sees the @ char, so lets to that. Start with some simple forms:

@_,_ // return the console prompt, this is two null graphs

@MyTable,_ // return mygraph in json form (currently)

OK, so right away, my claim is that on seeing the @, the ugly handler loads the table names from sqlite_maser into the local symbol set. After that, the default is a key word expresses a local table, as a variable. Watch your graph names or be prepared to quote a whole damn lot.

The in @ mode we allow: @config,SysemConfig configuration table run straight into the machine should be OK. Then comes this: @{"key key key2 key5",dictionary} Can it do that!
Not yet, what we need is a way to tell Lazy J to mark a set of key words as immediate, not look ups, and do that silently. A better quote character says, each element in the quotes is a space delineated key word. Define {"k1,k2.k3,k4"} as a valid graph in the k# set, in the quotes. But the key is silently overloaded to be a key word matchable type. The ugly handler knows not to look it up. Something akin to the Bson cstring names, something designed to be navigation fast, like it mostly fits immediately in the B-tree system. Clients know the price goes way up when key name terminals get longer than 32 characters. Look at a search syntax: @"word1,word2.word3",bookmarks,news Hey, we're dumping the uglies, it almost looks human. That @ just looks like a substitute for the Giggles advanced search button, huh?

VC should fund Imagisoft, and we would hire the pros to design the optimum B tree system for graph hopping.

Anyway, so the binary system gets me anything in graph context that we had in unix command line. We can do: @A,@B,{c.@B,d} Get the pipe thing going. Especially with high speed Qson IO, and ultra high speed in memory Qson, the ability to move Qson makes using tables in expressions work. My favorite will be: @test,SystemDebug

No comments: