Thursday, February 9, 2012

A Sqlson/Json naming, scoping and the local environment

Getting at machine internals, example:

{local:SystemScript{"select * from console;"}}
The machine writes the Json as Sqlson in the table console.
sqlite> select * from console;
SystemScript|5|2
select * from console;|95|1
sqlite>

The table is formatted as Sqlson triples, with the Key, the operator value, and the number of triples contained in the object. The first row tells me I have a system script and the total size is 2. The nest triple is the only parameter, a script to be executed. The select script will collect output to Bson or Json standards.
This is Sqlson, and it forms the foundation of intelligent Bson storage.

Names and naming:

Right now I am wrestling with names. When is a named variable passed through to be decoded later, and what names need to ramain locally connected to installed operators. This is compile and parse stuff, associated with naming scope. Outside of my expertise, so I have a bit of learning curve. I also need conventions from Json about the when and wherefors of named graphs.

In normal Json, name value pairs ane used by the object handler, which already knows what a particular name means. How did it ever learn a name? It was compiled in using Javascript name assignment conventions. The power to name things was not inherited by Json. So I have to invent some hokey method for a Json stream to name something, rather then just refer by name. Hmm...We really don't have a language, so much as a search syntax. Eventually we get at least the arithmetic operators (so Bots can conditionally move about), but those bots are pre-compiled, so no name assignment function. Hmm..

The other problem is how do we know the particular search operator names when we are clients far far away? We have to preconvolve the search graph with the well known name substitution graph. Hmm... naming and name scope Hmmm...

In software we have the parenthesis (), which means go and ask some embedded software to resolve the names and return a value. But ugly punctuation marks are in limited supply, and humans hate them. Then there is the well known name concept, like Google, which means, go and pay them to resolve named variables. But this machine sits on embedded Sqlite3, the whole point is to get the embedded engine involved in creating indices over the web, so we have to have a name assignment method.

Solution:


The system will provide the naming operators, developers can pre-assign a variable name to a type and value. By default, and matchable key, not overloaded or declared immediate, will go through the look up before matched.

For installs, the developer can use any compilation model off line to generate triple that create names. For Json users, we can experiment around with different syntax. Try out the $ or the = . After all Json search clients are the bleeding edge, let us experiment.

No comments: