Jane - Difference between
Cast Values, Qualified Values, and Robots

 

The Jane compiler has three structures for the declaration of values and the actions necessary for their use. All three structures can be evaluated at compile time and at run time, by using the := assignment syntax. The run time evaluation can use dynamic value replacement variables.

  1. Cast Value, A text value in a format that is specific to each use
  2. Qualified Value, A text value with qualifiers in a system defined format
  3. Robot, A set of actions in a user defined language using a system definition language

Cast Value: name{...} (without colon)

Casting a value to a specific use. The format of the content is known to the casting robot. The format is very specific and is parsed by the casting robot.  Cast values only return values on demand. The cast value only tells us what something is not what to do with it. Using the Cast Value we can then request information from it, for example alert(A.bytes); will send a request to the server for the file size in bytes, it does not need to load the file's content.

 A = filename{c:/temp/sample.txt};

Qualified Value: name:{...} (with colon)

Defines a qualified complex and/or compound value. The qualified value defines a context not any specific value. The language is system defined as a name and/or a name=value syntax, parsed by the system then passed to the qualifying robot as a command Object. Qualified Values only return values on demand, record = A[0];  The qualified value text is parsed two times. The first time on its initial assignment to substitute variable-name includes <<name>> independent of syntax, and then again on each on demand reference for dynamic variable value substitution <name>.

A = csv:{filename{c:/temp/sample.csv}, columns{name,dob:date:right,address}, delimiter=double quote};

Robot:

Defines a natural language compiler syntax.  The language is defined by the robot and is parsed by the system, then passed to the robot as a command Object. The language of a robot is known to the compiler and extends the Jane compiler syntax. Robots always returns a value.

A = Who owns the house at 7710 Janak Drive;