Modules

Builtin functions. These are usually specially generated in the parse stage, and compiled into special op codes. These operations are hard coded for the builtin types.

get compiled into to be run.

Core objects such as integers, booleans and strings

Runtime errors for technetium

The standard library. This module contains definitions for function objects which are in scope throughout all technetium programs

Macros

Conditionally execute code depending on if an ObjectRef contains an inner object of a certain type or not. This helps greatly improve readability in internal code

Dynamically dispatch to different code depending on the types of two variables. Useful for defining readable and short internal code for operations

Structs

An object reference that’s guaranteed to have a valid hash (that doesn’t throw errors)

The universal container object for implementers of the Object trait. Anything that implements Object should be of the form ObjectCell. ObjectCell combines interior mutability and shared ownership, so it is the primary container used for objects in technetium

The main object reference type, which can be passed around to represent an object of any valid Object type

Statics

The absolute path to the current running script. If not set, the script isn’t running from a file (this is a perfectly valid situation)

The parent directory of the script that tc is being run in, or the parent directory from where the user called the tech binary. Useful for locating the .tcmake folder

Traits

The primary trait for objects in technetium.

Functions