KCL stdlib 'map' function (#4054)
I had to revert https://github.com/KittyCAD/modeling-app/pull/4031 because it broke syntax highlighting. This is the same PR, but updated to fix syntax highlighting. Highlighting broke because the KCL LSP could not determine how to autocomplete the `map` function. The first argument of `map` is `[KclValue]` and the LSP doesn't know any good suggestions for "any KCL value", so it error'd out. I am using the value `[0..9]` for this case now. Tested that syntax highlighting works again.
This commit is contained in:
		
							
								
								
									
										89
									
								
								docs/kcl/types/BinaryOperator.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								docs/kcl/types/BinaryOperator.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,89 @@
 | 
			
		||||
---
 | 
			
		||||
title: "BinaryOperator"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
Add two numbers.
 | 
			
		||||
 | 
			
		||||
**enum:** `+`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Subtract two numbers.
 | 
			
		||||
 | 
			
		||||
**enum:** `-`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Multiply two numbers.
 | 
			
		||||
 | 
			
		||||
**enum:** `*`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Divide two numbers.
 | 
			
		||||
 | 
			
		||||
**enum:** `/`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Modulo two numbers.
 | 
			
		||||
 | 
			
		||||
**enum:** `%`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Raise a number to a power.
 | 
			
		||||
 | 
			
		||||
**enum:** `^`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										161
									
								
								docs/kcl/types/BinaryPart.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								docs/kcl/types/BinaryPart.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,161 @@
 | 
			
		||||
---
 | 
			
		||||
title: "BinaryPart"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Literal`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `value` |[`LiteralValue`](/docs/kcl/types/LiteralValue)|  | No |
 | 
			
		||||
| `raw` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `name` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `BinaryExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `operator` |[`BinaryOperator`](/docs/kcl/types/BinaryOperator)|  | No |
 | 
			
		||||
| `left` |[`BinaryPart`](/docs/kcl/types/BinaryPart)|  | No |
 | 
			
		||||
| `right` |[`BinaryPart`](/docs/kcl/types/BinaryPart)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `CallExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `callee` |[`Identifier`](/docs/kcl/types/Identifier)|  | No |
 | 
			
		||||
| `arguments` |`[` [`Expr`](/docs/kcl/types/Expr) `]`|  | No |
 | 
			
		||||
| `optional` |`boolean`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `UnaryExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `operator` |[`UnaryOperator`](/docs/kcl/types/UnaryOperator)|  | No |
 | 
			
		||||
| `argument` |[`BinaryPart`](/docs/kcl/types/BinaryPart)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `MemberExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `object` |[`MemberObject`](/docs/kcl/types/MemberObject)|  | No |
 | 
			
		||||
| `property` |[`LiteralIdentifier`](/docs/kcl/types/LiteralIdentifier)|  | No |
 | 
			
		||||
| `computed` |`boolean`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `IfExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `cond` |[`Expr`](/docs/kcl/types/Expr)|  | No |
 | 
			
		||||
| `then_val` |[`Program`](/docs/kcl/types/Program)|  | No |
 | 
			
		||||
| `else_ifs` |`[` [`ElseIf`](/docs/kcl/types/ElseIf) `]`|  | No |
 | 
			
		||||
| `final_else` |[`Program`](/docs/kcl/types/Program)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										75
									
								
								docs/kcl/types/BodyItem.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								docs/kcl/types/BodyItem.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,75 @@
 | 
			
		||||
---
 | 
			
		||||
title: "BodyItem"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `ExpressionStatement`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `expression` |[`Expr`](/docs/kcl/types/Expr)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `VariableDeclaration`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `declarations` |`[` [`VariableDeclarator`](/docs/kcl/types/VariableDeclarator) `]`|  | No |
 | 
			
		||||
| `kind` |[`VariableKind`](/docs/kcl/types/VariableKind)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `ReturnStatement`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `argument` |[`Expr`](/docs/kcl/types/Expr)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										41
									
								
								docs/kcl/types/CommentStyle.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								docs/kcl/types/CommentStyle.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
			
		||||
---
 | 
			
		||||
title: "CommentStyle"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
Like // foo
 | 
			
		||||
 | 
			
		||||
**enum:** `line`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Like /* foo */
 | 
			
		||||
 | 
			
		||||
**enum:** `block`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								docs/kcl/types/ElseIf.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								docs/kcl/types/ElseIf.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
---
 | 
			
		||||
title: "ElseIf"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `cond` |[`Expr`](/docs/kcl/types/Expr)|  | No |
 | 
			
		||||
| `then_val` |[`Program`](/docs/kcl/types/Program)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										21
									
								
								docs/kcl/types/Environment.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docs/kcl/types/Environment.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
---
 | 
			
		||||
title: "Environment"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `bindings` |`object`|  | No |
 | 
			
		||||
| `parent` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								docs/kcl/types/EnvironmentRef.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								docs/kcl/types/EnvironmentRef.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
---
 | 
			
		||||
title: "EnvironmentRef"
 | 
			
		||||
excerpt: "An index pointing to an environment."
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
An index pointing to an environment.
 | 
			
		||||
 | 
			
		||||
**Type:** `integer` (`uint`)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										297
									
								
								docs/kcl/types/Expr.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										297
									
								
								docs/kcl/types/Expr.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,297 @@
 | 
			
		||||
---
 | 
			
		||||
title: "Expr"
 | 
			
		||||
excerpt: "An expression can be evaluated to yield a single KCL value."
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
An expression can be evaluated to yield a single KCL value.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Literal`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `value` |[`LiteralValue`](/docs/kcl/types/LiteralValue)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `raw` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `name` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`TagDeclarator`](/docs/kcl/types#tag-declaration)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `BinaryExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `operator` |[`BinaryOperator`](/docs/kcl/types/BinaryOperator)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `left` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `right` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`FunctionExpression`](/docs/kcl/types/FunctionExpression)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `params` |`[` [`Parameter`](/docs/kcl/types/Parameter) `]`|  | No |
 | 
			
		||||
| `body` |[`Program`](/docs/kcl/types/Program)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `CallExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `callee` |[`Identifier`](/docs/kcl/types/Identifier)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `arguments` |`[` [`Expr`](/docs/kcl/types/Expr) `]`|  | No |
 | 
			
		||||
| `optional` |`boolean`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `PipeExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `body` |`[` [`Expr`](/docs/kcl/types/Expr) `]`|  | No |
 | 
			
		||||
| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `PipeSubstitution`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `ArrayExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `elements` |`[` [`Expr`](/docs/kcl/types/Expr) `]`|  | No |
 | 
			
		||||
| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `ObjectExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `properties` |`[` [`ObjectProperty`](/docs/kcl/types/ObjectProperty) `]`|  | No |
 | 
			
		||||
| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `MemberExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `object` |[`MemberObject`](/docs/kcl/types/MemberObject)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `property` |[`LiteralIdentifier`](/docs/kcl/types/LiteralIdentifier)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `computed` |`boolean`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `UnaryExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `operator` |[`UnaryOperator`](/docs/kcl/types/UnaryOperator)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `argument` |[`BinaryPart`](/docs/kcl/types/BinaryPart)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `IfExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `cond` |[`Expr`](/docs/kcl/types/Expr)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `then_val` |[`Program`](/docs/kcl/types/Program)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `else_ifs` |`[` [`ElseIf`](/docs/kcl/types/ElseIf) `]`|  | No |
 | 
			
		||||
| `final_else` |[`Program`](/docs/kcl/types/Program)| An expression can be evaluated to yield a single KCL value. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
KCL value for an optional parameter which was not given an argument. (remember, parameters are in the function declaration, arguments are in the function call/application).
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `None`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								docs/kcl/types/FunctionExpression.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								docs/kcl/types/FunctionExpression.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
---
 | 
			
		||||
title: "FunctionExpression"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `params` |`[` [`Parameter`](/docs/kcl/types/Parameter) `]`|  | No |
 | 
			
		||||
| `body` |[`Program`](/docs/kcl/types/Program)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								docs/kcl/types/Identifier.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								docs/kcl/types/Identifier.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
---
 | 
			
		||||
title: "Identifier"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `name` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										195
									
								
								docs/kcl/types/KclValue.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								docs/kcl/types/KclValue.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,195 @@
 | 
			
		||||
---
 | 
			
		||||
title: "KclValue"
 | 
			
		||||
excerpt: "A memory item."
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
A memory item.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `UserVal`|  | No |
 | 
			
		||||
| `value` |``|  | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`TagIdentifier`](/docs/kcl/types#tag-identifier)|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
| `info` |[`TagEngineInfo`](/docs/kcl/types/TagEngineInfo)|  | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`TagDeclarator`](/docs/kcl/types#tag-declaration)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
A plane.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Plane`|  | No |
 | 
			
		||||
| `id` |`string`| The id of the plane. | No |
 | 
			
		||||
| `value` |[`PlaneType`](/docs/kcl/types/PlaneType)| A memory item. | No |
 | 
			
		||||
| `origin` |[`Point3d`](/docs/kcl/types/Point3d)| Origin of the plane. | No |
 | 
			
		||||
| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s X axis be? | No |
 | 
			
		||||
| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the plane’s Y axis be? | No |
 | 
			
		||||
| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
A face.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Face`|  | No |
 | 
			
		||||
| `id` |`string`| The id of the face. | No |
 | 
			
		||||
| `value` |`string`| The tag of the face. | No |
 | 
			
		||||
| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s X axis be? | No |
 | 
			
		||||
| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the face’s Y axis be? | No |
 | 
			
		||||
| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No |
 | 
			
		||||
| `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
An solid is a collection of extrude surfaces.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`Solid`](/docs/kcl/types/Solid)|  | No |
 | 
			
		||||
| `id` |`string`| The id of the solid. | No |
 | 
			
		||||
| `value` |`[` [`ExtrudeSurface`](/docs/kcl/types/ExtrudeSurface) `]`| The extrude surfaces. | No |
 | 
			
		||||
| `sketch` |[`Sketch`](/docs/kcl/types/Sketch)| The sketch. | No |
 | 
			
		||||
| `height` |`number`| The height of the solid. | No |
 | 
			
		||||
| `startCapId` |`string`| The id of the extrusion start cap | No |
 | 
			
		||||
| `endCapId` |`string`| The id of the extrusion end cap | No |
 | 
			
		||||
| `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Solids`|  | No |
 | 
			
		||||
| `value` |`[` [`Solid`](/docs/kcl/types/Solid) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Data for an imported geometry.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`ImportedGeometry`](/docs/kcl/types/ImportedGeometry)|  | No |
 | 
			
		||||
| `id` |`string`| The ID of the imported geometry. | No |
 | 
			
		||||
| `value` |`[` `string` `]`| The original file paths. | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Function`|  | No |
 | 
			
		||||
| `expression` |[`FunctionExpression`](/docs/kcl/types/FunctionExpression)| A memory item. | No |
 | 
			
		||||
| `memory` |[`ProgramMemory`](/docs/kcl/types/ProgramMemory)| A memory item. | No |
 | 
			
		||||
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										56
									
								
								docs/kcl/types/LiteralIdentifier.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								docs/kcl/types/LiteralIdentifier.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,56 @@
 | 
			
		||||
---
 | 
			
		||||
title: "LiteralIdentifier"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `name` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `Literal`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `value` |[`LiteralValue`](/docs/kcl/types/LiteralValue)|  | No |
 | 
			
		||||
| `raw` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										57
									
								
								docs/kcl/types/LiteralValue.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								docs/kcl/types/LiteralValue.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
			
		||||
---
 | 
			
		||||
title: "LiteralValue"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts any of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `integer` (`int64`)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `number` (`double`)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `string`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `boolean`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										57
									
								
								docs/kcl/types/MemberObject.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								docs/kcl/types/MemberObject.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
			
		||||
---
 | 
			
		||||
title: "MemberObject"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `MemberExpression`|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `object` |[`MemberObject`](/docs/kcl/types/MemberObject)|  | No |
 | 
			
		||||
| `property` |[`LiteralIdentifier`](/docs/kcl/types/LiteralIdentifier)|  | No |
 | 
			
		||||
| `computed` |`boolean`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: [`Identifier`](/docs/kcl/types/Identifier)|  | No |
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `name` |`string`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								docs/kcl/types/NonCodeMeta.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/kcl/types/NonCodeMeta.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
---
 | 
			
		||||
title: "NonCodeMeta"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `nonCodeNodes` |`object`|  | No |
 | 
			
		||||
| `start` |`[` [`NonCodeNode`](/docs/kcl/types/NonCodeNode) `]`|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								docs/kcl/types/NonCodeNode.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								docs/kcl/types/NonCodeNode.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
---
 | 
			
		||||
title: "NonCodeNode"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `value` |[`NonCodeValue`](/docs/kcl/types/NonCodeValue)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										103
									
								
								docs/kcl/types/NonCodeValue.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								docs/kcl/types/NonCodeValue.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,103 @@
 | 
			
		||||
---
 | 
			
		||||
title: "NonCodeValue"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
A shebang. This is a special type of comment that is at the top of the file. It looks like this: ```python,no_run #!/usr/bin/env python ```
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `shebang`|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
An inline comment. Here are examples: `1 + 1 // This is an inline comment`. `1 + 1 /* Here's another */`.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `inlineComment`|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
A block comment. An example of this is the following: ```python,no_run /* This is a block comment */ 1 + 1 ``` Now this is important. The block comment is attached to the next line. This is always the case. Also the block comment doesn't have a new line above it. If it did it would be a `NewLineBlockComment`.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `blockComment`|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
A block comment that has a new line above it. The user explicitly added a new line above the block comment.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `newLineBlockComment`|  | No |
 | 
			
		||||
| `value` |`string`|  | No |
 | 
			
		||||
| `style` |[`CommentStyle`](/docs/kcl/types/CommentStyle)|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `type` |enum: `newLine`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								docs/kcl/types/ObjectProperty.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								docs/kcl/types/ObjectProperty.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
---
 | 
			
		||||
title: "ObjectProperty"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `key` |[`Identifier`](/docs/kcl/types/Identifier)|  | No |
 | 
			
		||||
| `value` |[`Expr`](/docs/kcl/types/Expr)|  | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								docs/kcl/types/Parameter.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								docs/kcl/types/Parameter.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
---
 | 
			
		||||
title: "Parameter"
 | 
			
		||||
excerpt: "Parameter of a KCL function."
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Parameter of a KCL function.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `identifier` |[`Identifier`](/docs/kcl/types/Identifier)| The parameter's label or name. | No |
 | 
			
		||||
| `optional` |`boolean`| Is the parameter optional? | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										25
									
								
								docs/kcl/types/Program.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								docs/kcl/types/Program.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
			
		||||
---
 | 
			
		||||
title: "Program"
 | 
			
		||||
excerpt: "A KCL program top level, or function body."
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
A KCL program top level, or function body.
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `body` |`[` [`BodyItem`](/docs/kcl/types/BodyItem) `]`|  | No |
 | 
			
		||||
| `nonCodeMeta` |[`NonCodeMeta`](/docs/kcl/types/NonCodeMeta)| A KCL program top level, or function body. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								docs/kcl/types/ProgramMemory.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								docs/kcl/types/ProgramMemory.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
---
 | 
			
		||||
title: "ProgramMemory"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `environments` |`[` [`Environment`](/docs/kcl/types/Environment) `]`|  | No |
 | 
			
		||||
| `currentEnv` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `return` |[`KclValue`](/docs/kcl/types/KclValue)|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										41
									
								
								docs/kcl/types/UnaryOperator.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								docs/kcl/types/UnaryOperator.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
			
		||||
---
 | 
			
		||||
title: "UnaryOperator"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
Negate a number.
 | 
			
		||||
 | 
			
		||||
**enum:** `-`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Negate a boolean.
 | 
			
		||||
 | 
			
		||||
**enum:** `!`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								docs/kcl/types/VariableDeclarator.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								docs/kcl/types/VariableDeclarator.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
---
 | 
			
		||||
title: "VariableDeclarator"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**Type:** `object`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Properties
 | 
			
		||||
 | 
			
		||||
| Property | Type | Description | Required |
 | 
			
		||||
|----------|------|-------------|----------|
 | 
			
		||||
| `start` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `end` |[`EnvironmentRef`](/docs/kcl/types/EnvironmentRef)|  | No |
 | 
			
		||||
| `id` |[`Identifier`](/docs/kcl/types/Identifier)| The identifier of the variable. | No |
 | 
			
		||||
| `init` |[`Expr`](/docs/kcl/types/Expr)| The value of the variable. | No |
 | 
			
		||||
| `digest` |`[, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`, `integer`]`|  | No |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										65
									
								
								docs/kcl/types/VariableKind.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								docs/kcl/types/VariableKind.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,65 @@
 | 
			
		||||
---
 | 
			
		||||
title: "VariableKind"
 | 
			
		||||
excerpt: ""
 | 
			
		||||
layout: manual
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**This schema accepts exactly one of the following:**
 | 
			
		||||
 | 
			
		||||
Declare a variable.
 | 
			
		||||
 | 
			
		||||
**enum:** `let`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Declare a variable that is read-only.
 | 
			
		||||
 | 
			
		||||
**enum:** `const`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Declare a function.
 | 
			
		||||
 | 
			
		||||
**enum:** `fn`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
Declare a variable.
 | 
			
		||||
 | 
			
		||||
**enum:** `var`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user