Thursday, February 9, 2012

I choose the Equals

I am going to add = to the ugly set, and implement insert name fairly simply when the triple is executed. Then that gets me past installs with symbolic reference. I'm happy, the convention will change, but my code will adapt.

Assignment is a predicate in the subject, predicate, object model, right? So, in the syntax, = expects a symbol on the left, and something on the right. The right can be at least two things for now, an immediate name, mainly already system names, and immediate value of user installs. But ultimately, on the right, we have to support the total address space, the ultimate url. The next step up is to name the sub graph pointed to, the immediate location, an give that a name. If the names follow a scoping convention, then the asynchronous bots can organize their encoding and make optimum indices. But today we are limited to immediate numeric and already existing symbol as elements on the right.

MyOp=42.local:SystemInstall{MyOp,parm2,..},  
// local: sets a known variable,MyOp = creates a new variable

Then later:
MyOp:{*,TableName,somename}
/ /MyOp:  sets a known variable, to the immediate sub graph
When the last triple sequence runs through  the machine, the ? ? spaces in the sglite binding syntax, are filled in with the parameters list. The statement run.

But, notice I introduce potential naming conflict, searching some name may trigger a valid look up, so clients are being forced into the quotation mark, the most hideous of them all! I'll work on that!!!  In this case, though we may be OK, because MyOp can force that to be an immediate variable, on set up.

This works, and it lets me move the assignment operation to the overloaders, who handle all the Uglies, keeping the engine simple.

Remember installs have a variety of parameter types, each type associated with some high speed variable look up on execution. So the assignment will ultimately be intelligent, but for now dumb is OK.

No comments: