# Free Form Programming

Structures and design motivations of Free Form Programming Language.

Author

Dara O Shayda

# Why???

### A Very Simple Idea
Create a programming language that in one sentence it is part algebraic or programming language like and part loose spoken phrases. We called these Free Form expressions or simply Free Form.

Rather immediately it became obvious such languages cannot possess the classical grammars found in commercial programming languages. Moreover, such languages ought to have myriad of grammars or else it would nearly be impossible to deliver a working simple prototype. 

We called these ensembles of grammars <b>The Grammarian</b>.

# Path Variables

# <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Paths and Options variables </span>

![](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/embedded-image-rkke16hq.png)

**Confidential, unauthorized access forbidden.**<span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255); white-space: pre-wrap;"> </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">CCN Studios internal proprietary software documentation. </span>

<span style="color: rgb(0, 0, 0);">𝞪3.0</span>

![](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/embedded-image-hw3otlfp.png)

## <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Synopsis </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Path variables are based upon the file paths “/../../..” and “../../..” string formats. </span>

<span style="color: rgb(0, 0, 0);">In Free Form Programming Language Path variable is of two kinds:</span>

1. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">“mesh/value”: </span>**local**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> to the current program, no starting “/”</span>
2. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">“/student/dara/script1/mesh/uvcoors” : </span>**external**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> program thus the path starts with “/”</span>

**Specification**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span>

1. **Atomic path variable**<span style="color: rgb(0, 0, 0);">: “/group/user/script/var”</span>
2. **Composite Path variable**<span style="color: rgb(0, 0, 0);">: “/group/user/script/var/value”</span>
3. **Keys**<span style="color: rgb(0, 0, 0);">:“/group/user/script/var/value/key”</span>

**Key**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> is the identifier or the name of something that consumes computing resources to exist. The latter something is called </span>**Value**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> as in value for the key. “mesh” is a Key and “mesh/normals” is the Value, note that “mesh” consumes almost 0 computing but to compute the normals of a surface consumes substantial quantities of computing resources e.g. CPU, memory, network bandwidth and of course </span>**recurring consumption**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> of resources e.g. GPU to render the mesh as a graphical object 30 frames a second on demand! </span>

- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Both local and external path variables are indeed URL based and stored in network cloud objects </span>
- <span style="color: rgb(0, 0, 0);">The file path address format is familiar to every grammar school student and therefore was selected as the customary way to address variables in complex and distributed structures</span>
- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The said complex structures might expand beyond the current program and into many other programs to share their local variables </span>
- <span style="color: rgb(0, 0, 0);">Indeed a newbie to Free Form Programming Language can immediately access and use Path variables constructed by other programs before</span>
- <span style="color: rgb(0, 0, 0);">Note that by default all variable values are automatically Serialized and if exceed certain water marks then compressed. Compression is one of the best forms of Serialization</span>
- <span style="color: rgb(0, 0, 0);">The Path variables are by default available to all third party programming languages, and always in standard simplest JSON form</span>

**http: and https: paths**

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">⚠️ </span>**The Free Form Grammarian leaves the http paths unprocessed**. They are copied and passed to operators and functions as constant strings with no further interpretations and no further processing**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">. </span>

## <span style="color: rgb(0, 0, 0);">Example</span>

<table id="bkmrk-var-%3D-%22%2Fff%2Ffree%2Fimag" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">var = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"/ff/free/image1/img"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">img = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"var/value"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show img;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as image2;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">Output:</span>

<table id="bkmrk-img%3D" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(236, 244, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">img=</span>![](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/embedded-image-aonvdpon.png)

</td></tr></tbody></table>

<table id="bkmrk-img-%E2%87%B6-%7B%22var%2Fvalue%22%E2%86%92%E2%98%81" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">img ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/value"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"(var)"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"(var)"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">↪var, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/compressed"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/type"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/expression"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️}</span>

</td></tr></tbody></table>

<span style="color: rgb(50, 170, 238);">☁️</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: icon for the persistent cloud object where the value of the key is stored </span>

<span style="color: rgb(0, 0, 0);">⇶ : denotes multi-arrow indicting a composite map</span>

<span style="color: rgb(0, 0, 0);">↪ : return arrow back to the variable in the program</span>

## <span style="color: rgb(0, 0, 0);">Options variable</span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Alternatively the / can be replaced by ‘s for the </span><u><span style="color: rgb(0, 0, 0);">existing</span></u><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> Path variables: </span>

<table id="bkmrk-var-%3D-%22%2Fff%2Ffree%2Fimag-1" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">var = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"/ff/free/image1/img"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">img = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">var's value</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show img;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as image2;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">In Free Form Programming Language ‘s is called option as in var’s value as an option of var. Options ‘s made passing a long list of initialized variables to a function much more compact and easier to remember and manage. </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">⚠️ </span>**Options variables with double quote values require more testing.**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Options variables construct path variables from arbitrary option identifiers not in existence! For example, “dara” variable has never had a path variable “hair”: </span>

<table id="bkmrk-dara%27s-hair%C2%A0-is-%22kin" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">dara's hair is </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"kind of wavy"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">style = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"dara/hair"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show style;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as test3;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">Output:</span>

<table id="bkmrk-style-%3D-%22kind-of-wav" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(236, 244, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238); white-space: pre-wrap;">Style = </span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">"</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">kind of wavy</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">"</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The internal Free Form Grammarian has a function called VarMaker\[ \] to construct standard listed typed variables or the arbitrary on-demand never seen before variables and types. </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">🗣️ </span>**This example clearly indicates the Free Form Spoken nature of the Free Form Programming Language. As the experiments have indicated the youths learn programming from Free Form language much easier and speedier and with motivation!**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span>

<span style="color: rgb(0, 0, 0);">💡In order to match the English language grammar, for the plural names ending with s the option variables will have the trailing s’:</span>

<table id="bkmrk-apples%27-count%C2%A0-is%C2%A0-1" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">apples' count is </span><span style="color: rgb(0, 153, 153); background-color: rgb(238, 238, 238);">19</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">count = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"apples/count"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show count;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as test3;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">Output:</span>

<table id="bkmrk-count-%3D-19" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(236, 244, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">count = 19</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">📌</span>**If a path variable or option variable is not available, as in completely missing, then the original identifier, in path form, is returned as value. This avoids dealing with obscure error messages and other unpleasantries of missing values. Therefore GetSortedVars\[ \] always returns a valid value no matter, and the missing value is checked as follows:**

<table id="bkmrk-getsortedvars-%5B-name" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">GetSortedVars </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238); white-space: pre-wrap;">\[ name, cred \] </span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">== </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">name</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); white-space: pre-wrap;">If GetSortedVars\[ \] returns the same value then that variable is missing or missing its value. </span>

## <span style="color: rgb(0, 0, 0);">Example</span>

<span style="color: rgb(0, 0, 0);">The Free Form rocks are constructed by the function rock\[ \] which returns a string which is the name of the lhs variable:</span>

<table id="bkmrk-mesh-%3D-rock%5B%22ellipse" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">mesh = rock</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\["ellipse", 200, 5\*{1, 1, 6}\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as rock1;</span>

</td></tr></tbody></table>

<table id="bkmrk-rock%5B-%5D-%E2%87%B6-%7B%22%28mesh%29%22%E2%86%92" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">rock</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">\[ \]</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;"> ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"(mesh)"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"(mesh)"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">↪mesh }</span>

</td></tr></tbody></table>

<span style="color: rgb(50, 170, 238); white-space: pre-wrap;">☁️ </span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: icon for the persistent cloud object where the value of the key is stored </span>

<span style="color: rgb(0, 0, 0);">⇶ : denotes multi-arrow indicting a composite map</span>

<span style="color: rgb(0, 0, 0);">↪ : return arrow back to the variable in the program</span>

<span style="color: rgb(0, 0, 0);">A third party Free Form program by another Free Former can easily access this rock mesh:</span>

<table id="bkmrk-var-%3D-%22%2Fff%2Ffree%2Frock" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">var = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"/ff/free/rock1/mesh/value"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">uv = </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"var/uvcoors"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show uv;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as pathvar;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">Output:</span>

<table id="bkmrk-uv-%3D-%7B%7B0.789561%2C--2." style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(236, 244, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">uv = {{0.789561, -2.69016}, {-1.67072, 3.75263}, {1.37182, 4.41598}, {0.199764, 4.03556}, {-1.63712, -0.0143999}, {0.230512, -3.25848}, {1.07342, 3.46127}, {1.72891, 1.27304}, {3.60557, 0.308929}, {2.13059, -3.67745}, {2.37085, 2.78642}, {-0.132767, -4.5409}, {-2.19815, -1.07722}, {-0.272674, 4.59587}, {2.96563, -2.22853}, {-0.422547, -4.48889}, {-0.926991, 2.31835}, {0.376589, -0.486291}, {-2.86105, 1.67475}, {1.01256, -3.51811}, {2.76276, 2.33716}, {-4.19068, -0.835185}, {-3.64371, -3.00476}, {0.569355, 2.71332}, {3.30174, 3.03551}, {-2.22201, -0.964461}, {4.5202, -1.39236}, {2.20664, -3.40651}, {4.37338, 1.05228}, {1.03858, -2.69736}, {4.64808, 0.375639}, {3.26256, 3.2405}, {-2.69063, 1.88625}, {-4.5811, 0.34247}, {-3.96512, -0.983707}, {-4.62285, 1.23987}, {-1.38243, -2.3752}, {-0.513229, -4.06979}, {0.602132, 2.14761}, {-2.39837, -3.98407}, {3.70975, -2.5965}, {-2.47709, 3.37107}, {-1.75433, 4.43549}, {1.52735, 1.43025}, {3.46578, -1.03043}, {-0.618612, -0.794119}, {4.68354, -1.12572}, {2.68421, 3.84622}, {-1.4737, 0.439442}, {-4.8006, 0.81873}, {-3.83208, -2.11617}, {3.53052, 1.5748}, {-1.82833, -3.77776}, {3.47874, 0.256054}, {2.02464, 0.0828023}, {-2.66834, -2.55233}}</span>

</td></tr></tbody></table>

<table id="bkmrk-var-%E2%87%B6-%7B%22var%2Fcoors%22%E2%86%92%E2%98%81" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">var ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/coors"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/uvcoors"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/vertices"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/lines"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/triangles"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/normals"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"(var)"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"(var)"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">↪var, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/compressed"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/type"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"var/expression"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️}</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">⚠️ </span>**The Free Form Grammarian often compresses the cloud variables under certain criteria of size and contents.**

# =

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">= operator in Free Form Programming Language </span>

![](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/embedded-image-mmuu1eq8.png)

**Confidential, unauthorized access forbidden.**<span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255); white-space: pre-wrap;"> </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">CCN Studios internal proprietary software documentation. </span>

<span style="color: rgb(0, 0, 0);">𝞪3.0</span>

![](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/embedded-image-izdenxyc.png)

## <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Synopsis </span>

- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Generally speaking the operation of the operator = in most programming languages is to copy the value/address from the rhs expression to the lhs variable. The said value is singleton and multiple copied values require multiple usage of = operator. </span>

- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">In commercial programming languages the operator = has merely the lifespan of a program execution session or scope of a function. Upon termination of the program or the return of the function no residues of the = operations remain. </span>

**=**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> operator in Free Form language operates on its operands according to the following:</span>

1. **To copy from rhs to lhs is optional for =**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> . Such a specific rhs copy to lhs is adequate for algebraic or math like procedures e.g. num = cos\[x\]; num is understood to be a single value and cos\[ \] single-value function. </span>
2. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">= copies certain interim computations in its expression into one or multiple separate </span>**Persistent Cloud Objects**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> as opposed to simply copying the rhs to lhs, </span>**since both the lhs and rhs are Free to be spread over multiple cloud systems**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">! </span>
3. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">For large geometric objects their values are first Serialized and then copied over the network since the local programming space and its memory quota could be limited and often it is more efficient to spread the computing amongst as many cloud objects as possible. </span>
4. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Once the program exits and the session ceases, the operator = can still operate on its operands by a number of other processes and processors which will be detailed later. </span>
5. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">💡Automated compression performed on variables whose content exceeds a certain watermark on byte size. </span>
6. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">💡For many variables the compression has been used to Serialize the content. As it turned out the standard </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 0);">compression algorithms are perfect as Serializers</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> for difficult binary variable values. </span>

## <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Evaluation </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The main evaluator for the composite expressions of the form </span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">a = expr;</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> where the rhs is any customary combinations of operators and functions and variables and constants, is called CCNffEqualExpr\[ \] which includes number of processors in its body (+130 grammars/evaluators):</span>

1. <span style="color: rgb(0, 0, 0);">Each processor is a separate cloud object which deposits its scripts and data into the Evaluator</span>
2. **The level-0 String Rewriting**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> occurs where the Free Form language functions and operators are replaced/rewritten by the actual internal functions available to the evaluator</span>
3. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">At the top of the body it parses and evaluates the double quote strings </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"ellipse"</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> and double-double quotes </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"\\"ellipse\\""</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> and </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"http…"</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> strings. Those evaluated are added to the program memory subsystem thus accessible by GetSortedVars\[ \] cloud function and the rest of the body of the evaluator is bypassed and finally exit. Those strings and double-double quote strings continue with the evaluator for further processing </span>
4. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The evaluator also processes string structures which contain grammatical Fee Form expressions e.g. </span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">c = circle of radius </span><span style="color: rgb(0, 153, 153); background-color: rgb(238, 238, 238);">2</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">.</span><span style="color: rgb(0, 153, 153); background-color: rgb(238, 238, 238);">01</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;"> at center = {x0,y0,z0};</span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The said processors, one after the other, in a smart and applicable sequence of grammar parsers evaluate this string to dismiss or process to transform to a new expression or string acceptable to the Free Form Grammarian. These are in part considered as string or term rewriting operations. </span>

5. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">At strategic locations the evaluator parses the latest version of the parsed expression and isolates symbols. </span>
6. <span style="color: rgb(0, 0, 0);">While parsing certain functions and operators are placed in Hold or Inactive states</span>
7. **The level-1 String Rewriting**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: finally once all the grammars and parsers and processors are exhausted a repeated string replacement loop runs and until there will be no more string replacements possible. At such an ending the Hold states are released and the held expressions, now re-written, are evaluated one last time. </span>
8. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">One last time the completed parsed expressions are scanned for symbols </span>
9. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Any individual variables with values are added to the Free Form memory subsystems </span>
10. <span style="color: rgb(0, 0, 0);">Applicable Path variables are constructed and made available to the GetSortedVars\[ \] cloud function</span>

### <span style="color: rgb(67, 67, 67);">Oddity \[Experimental\]</span>

<span style="color: rgb(0, 0, 0);">A mathematician has no problem writing:</span>

<table id="bkmrk-5-%3D-sin%5Bx%2Bpi%2F6%5D%3B" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 153, 153); background-color: rgb(238, 238, 238);">5</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;"> = sin</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\[x+pi/6\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">Yet in most commercial programming languages this statement returns an error stating that the numeral 5 cannot be reset in value. Indeed in mathematics the = operator is considered commutative in the sense a=b ⟺ b=a .</span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The Free Form programming language allows without any warnings or anomalies the number 5 set equal to any expression e.g. a trig expression in this case! Therefore, afterwards anywhere in the code the string “(5)” will be replaced by the string “sin\[x+pi/6\]” ! This was conceived to allow for de novo indexing functions and it is hoped that this feature will be released soon. </span>

## <span style="color: rgb(0, 0, 0);">Example</span>

<span style="color: rgb(0, 0, 0);">Simplest = operator usage:</span>

<table id="bkmrk-y-%3D-5%3B" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 26.0619pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">y = </span><span style="color: rgb(0, 153, 153); background-color: rgb(238, 238, 238);">5</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">transforms to the following variable-to-value map in Serialized string form:</span>

<table id="bkmrk-%22%28y%29%22-%E2%86%92-%22%285%29%22" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"(y)"</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;"> → </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">"(5)"</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">The Free Form Programming Language’s code symbolic engine exclusively relies on String and Term Rewriting systems:</span>

- <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">All expressions are required to serialize and matched for Rewriting against the variables in the execution history of the program </span>
- <span style="color: rgb(0, 0, 0);">In order not to replace the “y” in “boy” by “5” all expressions are parenthesized at post = action on its operands. And in order to replace the “5” in “25” again once operated upon by = the 5 is parenthesized as “(5)” .</span>

**Theorem**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: </span>**The Free Form Programming Language is Turing compatible**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">. </span>

<span style="color: rgb(0, 0, 0);">Proof: Since this language can execute any String Rewriting system, it can also execute any Universal String Rewriting systems which simulate the Universal Turing machines.□</span>

## <span style="color: rgb(0, 0, 0);">Example</span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The lhs is sin and the rhs is sin\[.\] and in Free Form language this is a customary occurrence! Since the = operator and its many grammars do not mix up the sin as function vs. sin as a variable. </span>

<table id="bkmrk-sin-%3D-sin%5Bpi%2F6%5D%3Bshow" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">sin = sin</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\[pi/6\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show sin;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">sin = sin + sin</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\[pi/3\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">show sin;</span>  
  
<span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">save as test;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">Output:</span>

<table id="bkmrk-sin-%3D-1%2F2%3Bsin-%3D-1%2F2-" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(236, 244, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238); white-space: pre-wrap;">sin = </span><span style="color: rgb(159, 113, 60); background-color: rgb(236, 244, 238);">1</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">/</span><span style="color: rgb(159, 113, 60); background-color: rgb(236, 244, 238);">2</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">;</span>  
<span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238); white-space: pre-wrap;">sin = </span><span style="color: rgb(159, 113, 60); background-color: rgb(236, 244, 238);">1</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">/</span><span style="color: rgb(159, 113, 60); background-color: rgb(236, 244, 238);">2</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238); white-space: pre-wrap;"> + Sqrt</span><span style="color: rgb(72, 153, 99); background-color: rgb(236, 244, 238);">\[3\]</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">/</span><span style="color: rgb(159, 113, 60); background-color: rgb(236, 244, 238);">2</span><span style="color: rgb(82, 96, 87); background-color: rgb(236, 244, 238);">;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">The following script models the sin \[ \] as function and again “sin” as a return value:</span>

<table id="bkmrk-sin%5B-%5D-%E2%87%B6-%7B%22sin%22%E2%86%92%E2%98%81%EF%B8%8F%7D" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">sin</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">\[ \]</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;"> ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"sin"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️}</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">For example:</span>

<table id="bkmrk-num-%3D-sin%5Bpi%2F6%5D%3B" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;"> num = sin</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\[pi/6\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">“num”→ </span><span style="color: rgb(50, 170, 238);">☁️</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> denotes the string variable name “num” maps to or points at the value of the variable num and the arrow points at </span><span style="color: rgb(50, 170, 238);">☁️</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> a specific location in CCN’s cloud systems. </span>

<span style="color: rgb(50, 170, 238); white-space: pre-wrap;">☁️ </span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: icon for the persistent cloud object </span>

<span style="color: rgb(0, 0, 0);">⇶ : denotes multi-arrow indicting a composite map</span>

<span style="color: rgb(0, 0, 0);">↪ : return arrow back to the variable in the program</span>

<table id="bkmrk-sin%5B-%5D-%E2%87%B6-%7B%22num%22%E2%86%92%E2%98%81%EF%B8%8F%7D" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">sin</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">\[ \]</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;"> ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"num"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️}</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Substantial effort was put into this particular aspect of the = operator in theFree Form Programming Language since to most newbies the return value for a function called foo\[.\] naturally should also be called foo! </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">This ability is specific to the = operator and it is a part of its construction. </span>

## <span style="color: rgb(0, 0, 0);">Example</span>

<table id="bkmrk-rock-%3D-rock%5B%22ellipse" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">rock = rock</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\["ellipse", 500, {4,1,1}, texture\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">The Free Form function rock\[ \] depending on its arguments constructs a 3D convex rock.</span>

<span style="color: rgb(0, 0, 0);">The = in this case transfers the following computations to their target memory systems:</span>

1. <span style="color: rgb(0, 0, 0);">The texture value is copied to a cloud variable named “rock/texture”. This texture might simply be a name e.g. “glazed” or an image path e.g. “student/dara/myduck”</span>
2. <span style="color: rgb(0, 0, 0);">Constant value "Mesh\_Region3D" is copied to a cloud variable called “rock/type”</span>
3. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Constant value True is copied to a cloud object called “rock/compressed”. This indicates the “rock/value” is a compressed form in ascii array of unsigned bytes. </span>
4. <span style="color: rgb(0, 0, 0);">The computed convex rock’s triangular mesh is Serialized into ascii format JSON object and copied to cloud variable “rock/value”</span>
5. <span style="color: rgb(0, 0, 0);">The string “rock” as a return value and copied to the variable with the same name and this deliberate as it will become clear soon</span>

<table id="bkmrk-rock-%E2%87%B6-%7B%22rock%2Ftextur" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 39.3737pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">rock ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/texture"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ ,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/type"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ ,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/compressed"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ ,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/value"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ ,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">↪rock,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ }</span>

</td></tr></tbody></table>

<span style="color: rgb(50, 170, 238);">☁️</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: icon for the persistent cloud object </span>

<span style="color: rgb(101, 93, 93); background-color: rgb(244, 236, 236);">"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">a</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"→☁️</span><span style="color: rgb(0, 0, 0);">: variable called “a”, its value is copied over the net into a cloud variable persisting in a cloud system</span>

<span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"a"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→ a </span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;">: string “a” is copied to the variable also called “a” but shown as a without ““ in the program text </span>

<table id="bkmrk-newmesh-%3D-rock%5B%22elli" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">newmesh = rock</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\["ellipse", 500, {4,1,1}, texture\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

</td></tr></tbody></table>

<table id="bkmrk-newmesh-%E2%87%B6-%7B%22rock%2Ftex" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">newmesh ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/texture"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️ , </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/type"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ ,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/compressed"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️ , </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/value"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️ , </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"newmesh"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">↪newmesh,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"newmesh"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ }</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The newmesh </span><span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 0);">without the ““ is the return value</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> to the variable currently running the program session called newmesh and the said value is its own name but in string format. This was necessary and unavoidable else the infamous Null return value automatically was assigned by the internal development programs. </span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">The {} denotes a map as a </span>**functional map**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> and in </span><u><span style="color: rgb(0, 0, 0);">Free Form internal development language</span></u><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> the cloud access API for this map is called </span>

<table id="bkmrk-getsortedvars-%5B-name" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">GetSortedVars </span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\[ name, cred \]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); white-space: pre-wrap;">; </span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">where the cred is the credential path necessary to authorize access e.g. “student/dara/myprogram” with the “group/user/script” format.</span>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">👉 Currently GetSortedVars \[ name, cred \] works only for one particular program path cred. In order to access multiple program paths and their session variables multiple calls to GetSortedVars \[ \] is required. </span>

<span style="color: rgb(0, 0, 0);">Each program has multiple persistent cloud objects each serves as a memory subsystem:</span>

1. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Externals: this allows storage and retrieval of variables and data without requiring a particular program session or you might call it session-less cloud object for values external to all programs (these are not global variables) </span>
2. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Master archive: cloud objects keep references (maps) to the allocated cloud objects which contain variables and data. Master archive is used for Admin e.g. deleting and freeing space for an existing program in case required for its recurring runs. </span>
3. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Chains: linearly chained cloud objects for duplicate nested function compositions </span>
4. <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">GetSortedVars\_Expr \[ name, cred \] a sibling of the functional GetSortedVars\[ \] which maps the expressional variables e.g. nested functions or linked list-like variables. </span>
5. <span style="color: rgb(0, 0, 0);">GetSortedVars\_VarMaker \[ name, cred \] another sibling of GetSortedVars\[ \] which updates newly created variables as outputs of functions and operators</span>

**⚠️**<span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span><span style="color: rgb(255, 153, 0);">Free Form Programming language might consolidate or even add additional cloud memory subsystems per new users’ needs and specifications without notice.</span><span style="color: rgb(0, 0, 0); white-space: pre-wrap;"> </span>

## <span style="color: rgb(0, 0, 0); white-space: pre-wrap;">Example: Void functions </span>

<table id="bkmrk-color%5Bc%5D%3B" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(238, 238, 238); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">color</span><span style="color: rgb(221, 17, 68); background-color: rgb(238, 238, 238);">\[c\]</span><span style="color: rgb(0, 0, 0); background-color: rgb(238, 238, 238);">;</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0);">The argument c can be RGB list e.g. the constant list {0,1,1} or named color the constant string “cyan”.</span>

<span style="color: rgb(0, 0, 0);">It returns a fixed string "ffVoid" .</span>

<span style="color: rgb(0, 0, 0);">The argument c is copied to a cloud constant called “Color”.</span>

<table id="bkmrk-color-%E2%87%B6-%7B%22color%22%E2%86%92%E2%98%81%EF%B8%8F-" style="border: medium; border-collapse: collapse;"><colgroup><col></col></colgroup><tbody><tr style="height: 0pt;"><td style="background-color: rgb(251, 235, 212); vertical-align: top; padding: 5pt; overflow: hidden; overflow-wrap: break-word;"><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">color ⇶ {</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"Color"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">→☁️ ,</span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/type"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️ , </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/compressed"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️, </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"rock/value"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212); white-space: pre-wrap;">→☁️ , </span><span style="color: rgb(136, 155, 74); background-color: rgb(251, 235, 212);">"ffVoid"</span><span style="color: rgb(132, 97, 61); background-color: rgb(251, 235, 212);">↪void}</span>

</td></tr></tbody></table>

<span style="color: rgb(0, 0, 0); white-space: pre-wrap;">→void means no value is returned to the program session. </span>

# Faces

👶 Symbol extracts human faces from images.

# "👶/highlights"

"highlight**s**<span style="white-space: pre-wrap;">" in plural with an extra ending "s", configures the neural nets in 👶 Symbol to search for and extract all human faces. </span>

Example

![Novotel+Hyderabad+Convention+Centre+aja_p_2758-28__original-2263543084.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/novotelhyderabadconventioncentreaja-p-2758-28-original-2263543084.jpg)```
👶;

show "👶/highlights";

save as faces;
```

<span style="white-space: pre-wrap;">Output </span>

[![meeting_highlights.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/meeting-highlights.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/meeting-highlights.jpg)

<span style="white-space: pre-wrap;">In these particular ensemble of neural nets only the faces partially expose are properly processed, however the back of the heads are not! </span>

Example

[![Aprio-Executive-Board-Meeting--3933269093.png](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/aprio-executive-board-meeting-3933269093.png)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/aprio-executive-board-meeting-3933269093.png)Output

[![highlights_room2.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/highlights-room2.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/highlights-room2.jpg)

# "👶/highlight"

[![caesar4.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/caesar4.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/caesar4.jpg)

```
👶;

show "👶/highlight";

save as highlight;
```

[![ceasar_highlight.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/ceasar-highlight.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/ceasar-highlight.jpg)

# Apes?!

👶 symbol in Free Form language accesses images in variety of ways.

<span style="white-space: pre-wrap;">No matter, the following orangutan image was accessed by the 👶 symbol or </span>**Face Symbol**:

[![IMG_7116-resized-4017293669.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/img-7116-resized-4017293669.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/img-7116-resized-4017293669.jpg)

```
👶;

show "👶/highlight";

save as face;
```

Output

"👶/highlights"

<span style="color: rgb(0, 0, 0);">↓</span>

[![orangutan_highlight.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/orangutan-highlight.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/orangutan-highlight.jpg)"👶/highlight"

<span style="color: rgb(0, 0, 0);">↓</span>

[![orangutan.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/orangutan.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/orangutan.jpg)

How about this gorilla!

[![Top-Activities-in-Volcanoes-National-Park-750x450-1807020510.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/top-activities-in-volcanoes-national-park-750x450-1807020510.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/top-activities-in-volcanoes-national-park-750x450-1807020510.jpg)

Output

"👶/highlights"

<span style="color: rgb(0, 0, 0);">↓</span>

[![gorilla_highlight.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/gorilla-highlight.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/gorilla-highlight.jpg)

"👶/highlight"

<span style="color: rgb(0, 0, 0);">↓</span>

[![gorillababy.jpg](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/gorillababy.jpg)](https://wiki.compclassnotes.com/uploads/images/gallery/2026-05/scaled-1680-/gorillababy.jpg)

# TODO

1. Make 👶 Listable