package
0.2.1
Repository: https://github.com/inoxlang/inox.git
Documentation: pkg.go.dev

# README

Core

This package contains most the code for the Inox Runtime, the type checking logic is in the symbolic/ package.

Code organization

The code evaluation tests are the same for the bytecode interpreter and the tree walk evaluation, they are located in eval_test.go.

Module Preparation

Module preparation is implemented in module_preparation.go, it consists of several steps:

  • Parsing
  • Pre-initialization
  • Context Creation
  • Global State Creation
  • Database Openings
  • Retrieval of Project Secrets
  • Static Checks
  • Symbolic Evaluation (typechecking)

Note that module preparation is not used by module imports.

Parsing

Recursive parsing of the module and its imports.

Pre-initialization

The pre-initialization is the checking and creation of the module's manifest.

  1. the pre-init block is statically checked (if present).
  2. the manifest's object literal is statically checked.
  3. pre-evaluate the env section of the manifest.
  4. pre-evaluate the preinit-files section of the manifest.
  5. read & parse the preinit-files using the provided .PreinitFilesystem.
  6. evaluate & define the global constants (const ....).
  7. evaluate the preinit block.
  8. evaluate the manifest's object literal.
  9. create the manifest.

Context Creation

A context containing all the core pattern types (int, str, ...) is created. The most relevant inputs are:

  • the permissions listed in the manifest
  • the limits listed in the manifest
  • the host definition data specified in the manifest
  • the parent context (host definition data and limits are inherited)

Global State Creation

implementation

The global state of the module is created and is initialized with the default globals (variables, functions & namespaces).

Database Openings

Databases described in the manifest or created if necessary and opened.

Retrieval of Project Secrets

If a project has been passed its secrets are retrieved and the global project-secrets is added to the state.

Static Checks

During this phase the code is analyzed in order to find the following issues:

  • misplaced statements
  • undeclared variables or patterns
  • duplicate declarations

(and a few others)

Symbolic Evaluation

The symbolic evaluation of a module is a "virtual" evaluation, it performs checks similar to those of a type checker. Throughout the Inox documentation you may encounter the terms "type checker"/ "type checking", they correspond to the symbolic evaluation phase.

Transactions

Simplified State Diagram

stateDiagram-v2
    [*] --> Running
    DoingRollback: Doing Rollback
    DoingCommit: Doing Commit


    Running --> DoingRollback: context is cancelled
    Running --> DoingRollback: timeout
    Running --> DoingRollback: rollback
    Running --> DoingCommit: commit
    DoingRollback --> Finished
    DoingCommit --> Finished

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author
AddValidPathPrefix adds the ./ prefix if necessary, AddValidPathPrefix does NOT check that its argument is a valid path.
All is the value of the 'all' global.
Alloc allocates $size bytes and returns the starting position of the allocated memory segment.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ShareOrCloneDepth performs the following logic: - if v is immutable then return it.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CombineParsingErrorValues combines errors into a single error with a multiline message.
Compile compiles a module to bytecode.
No description provided by the author
ComputeProgramRiskScore computes the risk score for a prepared program.
No description provided by the author
No description provided by the author
No description provided by the author
ConvertJsonSchemaToPattern converts a JSON schema definition to an Inox pattern, all schemas are not supported and the resulting pattern might be stricter.
No description provided by the author
ConvertReturnValue converts to Value a reflect.Value returned by calling a Go funtion using reflection.
ConvertYamlNodeToInoxVal converts a YAML AST Node into an Inox value.
ConvertYamlParsedFileToInoxVal converts the list of documents in f to a list (or tuple) of Inox values.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CreateTempdir creates a directory with permissions o700 in /tmp.
DeallocAll de-allocates the heap content, the heap is no longer usable.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EvalSimpleValueLiteral evalutes a SimpleValueLiteral node (except IdentifierLiteral because it is ambiguous).
EvaluatePermissionListingObjectNode evaluates the object literal listing permissions in a permission drop statement.
EvalVM compiles the passed module (in module source) and evaluates the bytecode with the passed global state.
No description provided by the author
FileStat tries to directly use the given file to get file information, if it fails and fls is not nil then fls.Stat(f) is used.
Filter is the value of the 'filter' global.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FormatInstructions returns string representation of bytecode instructions.
No description provided by the author
GetAtMost is the value of the 'get_at_most' global.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GetEventSourceFactory returns the event source factory function for $scheme or (nil, false) if no factory is registered for $scheme.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GetRelativeTimeInstant64 returns the current RelativeTimeInstant64 (number of milliseconds since PROCESS_BEGIN_TIME).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GetWalkEntries walks a directory and returns all encountered entries and their paths in two 2D arrays.
No description provided by the author
No description provided by the author
go:nocheckptr.
No description provided by the author
ImportModule imports a module and returned a spawned lthread running the module.
ImportWaitModule imports a module and waits for its lthread to return its result.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IsSharable returns true if the given value can be shared between goroutines, a value is considered sharable if it is immutable or it implements PotentiallySharable and .IsSharable() returns true.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
See documentation of LoadFreeEntityFn.
MakeInstruction returns a bytecode for an opcode and the operands.
MapInstructions iterates instructions and calls callbackFn for each instruction.
MapIterable is the value of the 'map' global.
No description provided by the author
MimeTypeFrom checks that s is a valid mime type and returns a normalized Mimetype.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewCheckedString creates a CheckedString in a secure way.
No description provided by the author
No description provided by the author
NewContext creates a new context, if a parent context is provided the embedded context.Context will be context.WithCancel(parentContext), otherwise it will be context.WithCancel(context.Background()).
NewContexWithEmptyState creates a context & an empty state, out is used as the state's output (or io.Discard if nil), OutputFieldsInitialized is set to true.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewDirWalker walks a directory and creates a DirWalker with the entries.
No description provided by the author
TODO: restrict callee to functions without side effects.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewEventSource creates an EventSource by calling the factory registered for the scheme of $resourceNameOrPattern.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
multipleOf is ignored if not greater than zero.
No description provided by the author
No description provided by the author
NewGlobalState creates a state with the provided context and constants.
No description provided by the author
No description provided by the author
No description provided by the author
multipleOf is ignored if not greater than zero.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
$multipleOf is ignored if not greater than zero.
$multipleOf is ignored if not greater than zero.
No description provided by the author
NewIpropsIterator creates an IpropsIterator, the provided keys slice and values slice should not be modified.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewMostAdaptedExactPattern returns an *ExactStringPattern if value implements StringLike, otherwise an *ExactValuePattern is returned.
No description provided by the author
NewMutableEntriesNamespace creates a namespace that allows the entry values to be modified.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewObject creates an empty object.
helper function to create an object, lifetime jobs are initialized.
helper function to create an object, lifetime jobs are not initialized.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewPath creates a Path in a secure way.
NewPathPattern creates a PathPattern in a secure way.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewRegexPattern creates a RegexPattern from the given string, the unicode flag is enabled.
NewRegexPatternFromPERLCompiled creates a RegexPattern from the given regexp.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewRegexPattern creates a StringPathPattern from the given string, if path pattern is empty the pattern matches any path.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewTreeWalkState creates a TreeWalkState and a GlobalState it will use.
NewTreeWalkState creates a TreeWalkState that will use $global as its global state.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewULID generates in a cryptographically secure way an ULID with a monotonically increasing entropy.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
createPath creates an URL in a secure way.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewVM creates a virtual machine that will execute the fn function, if fn is nil the main function of bytecode will be executed.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
None is the value of the 'none' global.
No description provided by the author
NormalizeEmailAddress checks and normalize the provided address.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
PrepareExtractionModeIncludableChunkfile parses & checks an includable-chunk file located in the filesystem and initializes its state.
PrepareLocalModule parses & checks a module located in the filesystem and initializes its state.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ReadFileInFS reads up to maxSize bytes from a file in the given filesystem.
ReadOperands reads the operands of an instruction in bytecode.
RegisterAddressLessType registers an Inox value type in order to enable the computation of transient ids on its instances.
No description provided by the author
No description provided by the author
RegisterEventSourceFactory registers an event source factory for a given scheme (e.g.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RegisterRenderer register a custom rendering function for a given type, this function should ONLY be called during the initialization phase (calls to init()) since it is not protected by a lock.
No description provided by the author
No description provided by the author
No description provided by the author
RegisterSymbolicGoFunction registers the symbolic equivalent of fn, fn should not be a method or a closure.
[<fn1>, <symbolic fn1>, <fn2>, <symbolic fn2>, ...]., See RegisterSymbolicGoFunction.
No description provided by the author
Renders renders the renderable with a custom renderer if registered, otherwise it calls renderable.Render.
RepresentationBasedClone clones a Serializable by marshalling it to JSON and then unmarshalling it.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ShareOrCloneDepth performs the following logic: - if v is immutable then return it.
No description provided by the author
Some is the value of the 'some' global.
SpawnLThread spawns a new lthread, if .LthreadCtx is nil a minimal context is created for the lthread.
No description provided by the author
StartNewReadonlyTransaction creates a new readonly transaction and starts it immediately.
StartNewTransaction creates a new transaction and starts it immediately.
StaticCheck performs various checks on an AST, like checking duplicate declarations and keys or checking that statements like return, break and continue are not misplaced.
Stringify calls PrettyPrint on the passed value.
Stringify calls PrettyPrint on the passed value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Traverse traverses a graph of values starting from v.
TreeWalkCallFunc calls calleeNode, whatever its kind (Inox function or Go function).
TreeWalkEval evaluates a node, panics are always recovered so this function should not panic.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Unwrap unwraps a *DynamicValue's value and calls itself on the resulting value.
No description provided by the author
ValOf any reflect.Value that wraps a Inox value.
No description provided by the author
/adapted from stdlib path/filepath/path.go.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
WrapDatabase wraps a Database in a *DatabaseIL.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
pointer types.
new expressions.
No description provided by the author
No description provided by the author
included chunk.
No description provided by the author
No description provided by the author
No description provided by the author
opcodes.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
databases section.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Default max element count if the number of elements is not exact.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
maximum length of strings tested against regex patterns, sequence string patterns and parser patterns.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
object literal.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
env section.
No description provided by the author
No description provided by the author
Note: This limit represents a pseudo CPU time because it's not possible to accurately detect when the goroutine executing a module is waiting for IO.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Token count should be scaled by this value when calling .Take() for a frequency limit.This is not related to the internal scaling of token buckets.
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
context cancellation before the end of the teardown.
errors during teardown.
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
starts at 1 for compatibility with the Debug Adapter Protocol.
No description provided by the author
No description provided by the author
--------------------------------.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
permissions section.
No description provided by the author
No description provided by the author
INVALID_MAPPING_ENTRY_KEY_ONLY_SIMPL_LITS_AND_PATT_IDENTS
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
spawn expression.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
visibility.
No description provided by the author
No description provided by the author
invocation section.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
kind section.
not definitive.
No description provided by the author
No description provided by the author
No description provided by the author
limits section.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
the creation of lthread is not risky, it's the number of goroutines that can be an issue.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
database description in databases section.
databases section.
No description provided by the author
No description provided by the author
No description provided by the author
invocation section.
No description provided by the author
section names.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
parameters.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
preinit-files section.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
this constant can change in the future, it's a starting point.
No description provided by the author
TODO: change value.
PATH_MAX on linux.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
this constant can change in the future, it's a starting point.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MISPLACED_COMPUTE_EXPR_SHOULD_BE_IN_DYNAMIC_MAPPING_EXPR_ENTRY
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
struct types.
lifetime job.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
permissions.
No description provided by the author
No description provided by the author
manifest.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
opcodes.
opcodes.
opcodes.
add test case result if in test suite.
opcodes.
opcodes.
Logical AND jump.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
move third element at the top of the stack & shift the two others.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
Logical OR jump.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
No description provided by the author
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
opcodes.
No description provided by the author
params section.
No description provided by the author
permissions section.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
preinit-files section.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ROUTINE_POST_YIELD_PAUSE
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SERIALIZED_OBJECT_PATTERN_ENTRY_IS_OPTIONAL_KEY
No description provided by the author
SERIALIZED_OBJECT_PATTERN_ENTRY_PATTERN_KEY
No description provided by the author
SERIALIZED_OBJECT_PATTERN_ENTRY_REQ_KEYS_KEY
No description provided by the author
SERIALIZED_OBJECT_PATTERN_ENTRY_REQ_PATTERN_KEY
No description provided by the author
No description provided by the author
No description provided by the author
SERIALIZED_RECORD_PATTERN_ENTRY_IS_OPTIONAL_KEY
No description provided by the author
SERIALIZED_RECORD_PATTERN_ENTRY_PATTERN_KEY
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This mutation adds a single edge.
This mutation adds a single event.
This mutation adds a single node + an optional edge.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
.spec.ix file.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
test suites & cases.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
object pattern literals.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
No description provided by the author
No description provided by the author
No description provided by the author
global constant declarations.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.
The following risk score constants are intended to be a starting point, they may be adjusted based on additional research and feedback.

# Variables

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
floating point.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
integer.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
quantty.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TODO: move constants to an embedded file.TODO: handle case where the a virtual system is used.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
the initial working dir is the working dir at the start of the program execution.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
default context factory.
default state factory.
No description provided by the author
No description provided by the author
No description provided by the author
TODO: complete.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
OpcodeConstantIndexes stores for each opcode what arguments are indexes (positions) of constants.
OpcodeNames contains the string representation of each opcode.
OpcodeOperands contains the number of operands of each opcode.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TODO: improve (using a type pattern can create issues).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

No description provided by the author
No description provided by the author
ArrayPool is a pool providing slices of fixed length, the returned slices ("arrays") should not be modified (expect setting elements).
AssertionData is the data recorded about an assertion.
An AssertionError is raised when an assertion statement fails (false condition).
An AstNode is an immutable Value wrapping an AST node.
No description provided by the author
No description provided by the author
No description provided by the author
BoolList implements underlyingList.
No description provided by the author
No description provided by the author
No description provided by the author
A Bytecode contains the constants and a reference to a *CompiledFunction.
No description provided by the author
BytesConcatenation is a lazy concatenation of values that can form a byte slice, BytesConcatenation implements BytesLike.
ByteSlice implements Value, its mutability is set at creation.
A Change is an immutable Value that stores the data about a modification (Mutation) and some metadata such as the moment in time where the mutation happpened.
No description provided by the author
A Color represents a color in a given encoding.
No description provided by the author
No description provided by the author
No description provided by the author
A CompiledFunction contains the bytecode instructions of a module or a compiled Inox function.
No description provided by the author
No description provided by the author
A ConfluenceStream is a ReadableStream that results from the merger of 2 or more streams.
A Context is analogous to contexts provided by the context package from Golang's stdlib: when the context is cancelled all descendant contexts are cancelled as well.
No description provided by the author
No description provided by the author
A DatabaseConfig represent the configuration of a database accessed by a module.
DatabaseIL (D.atabase I.nox L.and) is an Inox Value that wraps a Database, it exposes a 'update_schema' Inox property and has an Inox property for each top level entity in the database.
No description provided by the author
No description provided by the author
A DataChunk represents a chunk of any kind of data, DataChunk implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A Debugger enables the debugging of a running Inox program by handling debug commands sent to its control channel (ControlChan()).
No description provided by the author
DefaultContextConfig is the configured passed to the default context factory.
DefaultGlobalStateConfig is the configured passed to the default state factory.
A Dictionnary maps representable values (keys) to any values, Dictionar implements Value.
A DifferencePattern represents a pattern that matches the same values as a 'base' pattern except all values matched by a 'removed' pattern.
DirWalker is a Walker, it iterates over a list of known entries.
No description provided by the author
No description provided by the author
A DynamicValue resolves to a Value by performing an operation on another value (getting a property, ...), DynamicValue implements Value.
An ElementsStream represents a stream of known elements, ElementsStream implements Value.
EntrySnapshotMetadata is the metadata about a single entry in a filesystem snapshot.
No description provided by the author
An Error represents an error with some immutable data, Error implements Value.
An Event represents a generic event, Event implements Value.
No description provided by the author
EventSourceBase provides handler registration for regular events and 'idle' handler registration.
No description provided by the author
ExactStringPattern matches values equal to .value: .value.Equal(...) returns true.
ExactValuePattern matches values equal to .value: .value.Equal(...) returns true.
No description provided by the author
No description provided by the author
A FileInfo is a Value that implements fs.FileInfo and ExtendedFileInfo.
No description provided by the author
No description provided by the author
FilesystemSnapshotIL wraps a FilesystemSnapshot and implements Value.
A FloatRange represents a float64 range, FloatRange implements Value.
No description provided by the author
An FloatRangePattern represents a pattern matching floats in a given range.
An FloatRangeStringPattern matches a string (or substring) representing a decimal floating point number in a given range.
No description provided by the author
No description provided by the author
A FunctionPattern represents a pattern that matches that either matches any function or functions with certain parameters and return types.
No description provided by the author
No description provided by the author
A GlobalState represents the global state of a module (or the shell loop), most exported fields should be set once.
A GlobalVariables represents the global scope of a module.
No description provided by the author
A GoFunction represents a native (Go) function.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
An IncludedChunk represents an Inox chunk that is included in another chunk, it does not hold any state and should NOT be modified.
No description provided by the author
No description provided by the author
No description provided by the author
An InoxFunction is a Value that represents a function declared inside Inox code.
No description provided by the author
An IntRange represents an int64 range, IntRange implements Value.
No description provided by the author
An IntRangePattern represents a pattern matching integers in a given range.
An IntRangeStringPattern matches a string (or substring) representing a decimal integer number in a given range.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
LengthCheckingStringPattern matches any StringLikes with a length in a given range.
A LifetimeJob represents a job associated with a value that runs while the value exists, this struct does not hold any state, see LifetimeJobInstance.
No description provided by the author
A Limit represents a limit for a running piece of code, for example: the maximum rate of http requests.
A List represents a sequence of elements, List implements Value.
A ListPattern represents a pattern matching Inox lists (e.g.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A LThread is similar to a goroutine in Golang, it represents the execution of a single module and can be cancelled at any time.
A LThreadGroup is a group of lthreads, it simplifies the interaction with the lthreads.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A Manifest contains most of the user-defined metadata about a Module.
No description provided by the author
No description provided by the author
No description provided by the author
A Message is an immutable package around an immutable piece of data sent by a sender to a MessageReceiver, Message implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
A Module represents an Inox module, it does not hold any state and should NOT be modified.
ModuleArgs contains the arguments passed to a module, ModuleArgs implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A ModuleParamsPattern is pattern for ModuleArgs values.
No description provided by the author
No description provided by the author
No description provided by the author
A Mutation stores the data (or part of the data) about the modification of a value, it is immutable and implements Value.
MutationCallbacks is used by watchables that implement OnMutation.
No description provided by the author
No description provided by the author
A NamedSegmentPathPattern is a path pattern with named sections, NamedSegmentPathPattern implements GroupPattern.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NumberList implements underlyingList.
No description provided by the author
Object implements Value.
An ObjectPattern represents a pattern matching Inox objects (e.g.
No description provided by the author
An Option represents an option with a name and value, Option implements value.
optional parameter in symbolic Go function parameters.
An OptionalPattern represents a pattern that matches the nil value in additional to the same values as an underlying pattern.
No description provided by the author
No description provided by the author
A PathStringPattern represents a string pattern for paths.
No description provided by the author
A PatternNamespace represents a group of related Inox patterns, PatternNamespace implements Value.
A PeriodicWatcher is Watcher that periodically checks if it has a value.
No description provided by the author
Port implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A Publication is an package around an immutable piece of data sent by a publisher to its subscribers, Publication implements Value.
No description provided by the author
QuantityRange implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
A ReadableByteStream represents a stream of bytes, ElementsStream implements Value.
No description provided by the author
A Reader is a Value wrapping an io.Reader.
Record is the immutable counterpart of an Object, Record implements Value.
A RecordPattern represents a pattern matching Inox records (e.g.
No description provided by the author
RegexPattern matches any StringLike that matches .regexp.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TODO: implement Iterable.
No description provided by the author
No description provided by the author
No description provided by the author
A Secret represents a string such as a password, an API-Key or a PEM encoded key; a secret always return false when it is compared for equality.
No description provided by the author
SequenceStringPattern represents a string pattern with sub elements.
A SmartLock is a lock that ignores locking operations until the value it protects is shared.
Snapshot holds either the serialized representation of a Value or a in-memory FROZEN value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A StaticCheckData is the immutable data produced by statically checking a module.
No description provided by the author
No description provided by the author
No description provided by the author
StringConcatenation is a lazy concatenation of string-like values that can form a string, it implements StringLike and is therefore immutable from the POV of Inox code.
StringList implements underlyingList.
No description provided by the author
No description provided by the author
No description provided by the author
A Subscription holds metadata about the subscription of a Subscriber to a Publisher.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A SystemGraph represents relations & events between values.
No description provided by the author
No description provided by the author
A SystemGraphEvent is an immutable value representing an event in an node or between two nodes.
No description provided by the author
No description provided by the author
No description provided by the author
A TestCase represents a test case, TestCase implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
A TestFilter filter tests by checking several values.
No description provided by the author
No description provided by the author
A TestSuite represents a test suite, TestSuite implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A Token is an immutable Value wrapping a token.
A Transaction is analogous to a database transaction but behaves a little bit differently.
No description provided by the author
Treedata is used to represent any hiearchical data, Treedata implements Value and is immutable.
TreedataHiearchyEntry represents a hiearchical entry in a Treedata, TreedataHiearchyEntry implements Value but is never accessible by Inox code.
No description provided by the author
No description provided by the author
A TreeWalkState stores all the state necessary to perform a tree walking evaluation.
Tuple is the immutable equivalent of a List, Tuple implements Value.
No description provided by the author
A TuplePattern represents a pattern matching Inox tuples (e.g.
No description provided by the author
A type extension represents a set of methods & computed properties for values matching a given pattern.
A TypePattern matches values implementing .Type (if .Type is an interface) or having their type equal to .Type.
No description provided by the author
No description provided by the author
No description provided by the author
ValueHistory stores the history about a single value, it implements Value.
No description provided by the author
ValueList implements underlyingList.
No description provided by the author
A ValueVisibility specifies what parts of an Inox value are 'visible' during serialization.
No description provided by the author
No description provided by the author
VM is a virtual machine that executes bytecode.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A WritableByteStream represents a stream of bytes, ElementsStream implements Value.
No description provided by the author
A Writer is a Value wrapping an io.Writer.
No description provided by the author
A XMLElement represents the result of the evaluation of an XMLElement node in Inox code.

# Interfaces

No description provided by the author
No description provided by the author
No description provided by the author
A BytesLike represents an abstract byte slice, it should behave exactly like a regular ByteSlice and have the same pseudo properties.
Clonable is implemented by Values that can be at least shallow cloned.
ClonableSerializable is implemented by Serializables that can be at least shallow cloned.
No description provided by the author
No description provided by the author
No description provided by the author
The Container interface should be implemented by data structures able to tell if they contain a specific value.
Database is a high-level interface for a database that stores Inox values.
No description provided by the author
DefaultValuePattern is implemented by patterns that in most cases can provide a default value that matches them.
No description provided by the author
TODO: rework An EventSource is a source of events created by a scheme-specific (e.g.
No description provided by the author
A FilesystemSnapshot represents an immutable snapshot of a filesystem, the data & metadata can be stored anywhere (memory, disk, object storage).
A Format represents a string or binary format.
A GoValue represents a user defined Value or a core Value that is not deeply integrated with the evaluation logic.
GroupPattern is implemented by patterns that are able to decompose matched values into groups.
An image represents a project image.
No description provided by the author
implementations of InMemorySnapshotable are Watchables that can take an in-memory snapshot of themselves in a few milliseconds or less.
Integral should be implemented by values representing an integer (int, byte, quantities, ...).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
An Iterable is a Value that provides an iterator.
No description provided by the author
No description provided by the author
No description provided by the author
TODO: improve name.
No description provided by the author
No description provided by the author
No description provided by the author
A MutableSequence is a mutable sequence of Inox values, the number of elements cannot be necessarily changed.
The Pattern interface is implemented by Inox patterns (e.g.
A Permission carries a kind and can include narrower permissions, for example (read http://**) includes (read https://example.com).
No description provided by the author
No description provided by the author
No description provided by the author
A ProtocolClient represents a client for one or more protocols such as HTTP, HTTPS.
No description provided by the author
No description provided by the author
A Readable is a Value we can read bytes from thanks to a Reader.
No description provided by the author
A renderable is a Value that can be rendered to at least one MIME type.
A resource name is a string value that designates a resource, examples: URL, Path & Host are resource names.
No description provided by the author
No description provided by the author
A Sequence is a sequence of Inox values, it is not necessarily mutable.
Serializable is the interface implemented by all values serializable to JSON.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A StatelessParser represents a parser for a data format such as JSON or YAML.
No description provided by the author
No description provided by the author
No description provided by the author
A StringLike represents an abstract immutable string, it should behave exactly like a regular Str and have the same pseudo properties.
No description provided by the author
No description provided by the author
No description provided by the author
A TestItem is a TestSuite or a TestCase.
No description provided by the author
No description provided by the author
Value is the interface implemented by all values accessible to Inox code.
A ValuePath represents a path to a value in a structure.
A ValuePathSegment represents a segment of path to a value in a structure.
A Walkable is value that can be walked using a walker.
No description provided by the author
A Watchable value is a value that can be watched thanks to a Watcher.
No description provided by the author
No description provided by the author
A WrappedBytes represents a value that wraps a byte slice ( []byte ).
A StringLike represents a value that wraps a Go string.
A Writable is a Value we can write bytes to thanks to a Writer.
No description provided by the author

# Type aliases

No description provided by the author
Bool implements Value.
Byte implements Value.
ByteCount implements Value.
A ByteRate represents a number of bytes per second, it implements Value.
see FIRST_VALID_CALLBACK_HANDLE.
A ConstraintId represents an id that is used to retrieve the constraints on a Value.
A ContextDoneMicrotaskFn should run for a short time (less than 1ms), the calling context should not be access because it is locked.
No description provided by the author
No description provided by the author
No description provided by the author
Date implements Value.
See stdlib's time.Time, DateTime implements Value.
See stdlib's time.Duration, Duration implements Value.
An element key is a string with the following specifications: - at most 100 characters - not empty - can only contain identifier chars (parse.IsIdentChar).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FileMode implements Value.
Float implements Value.
A Frequency represents a number of actions per second, it implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
A GracefulTearDownTaskFn should ideally run for a relative short time (less than 500ms), the passed context is the context the microtask was registered to.
No description provided by the author
A Host is composed of the following parts: [<scheme>] '://' <hostname> [':' <port>].
No description provided by the author
No description provided by the author
No description provided by the author
Int implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
LineCount implements Value.
LoadSelfManagedEntityFn should load a self-managed entity and should call the corresponding migration handlers.
A LongValuePath represents a path (>= 2 segments) to a value in a structure, LongValuePath implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
A Mimetype represents a MIME type, it can include parameters.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NilT implements Value.
No description provided by the author
Opcode represents a single byte operation code.
No description provided by the author
No description provided by the author
OrderedPair is an immutable ordered pair, OrderedPair implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Property name literals (e.g.
No description provided by the author
RelativeTimeInstant64 is a number of milliseconds since PROCESS_BEGIN_TIME.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RuneCount implements Value.
Token count scaled by TOKEN_BUCKET_CAPACITY_SCALE.
A Scheme represents an URL scheme, example: 'https'.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Inox string type, String implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A TransientID of an Inox value is an address-based identifier, it should not be used to identify the value once the value is no longer accessible (GCed).
ULID implements Value.
URL represents a non-relative URL, it implements Value.
No description provided by the author
UUIDv4 implements Value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Year implements Value.