Fact

A “Fact” is the primary object to allocate space of an arbitrary length.

A Fact is the smallest keyed Object.

It is often used for text, but has no restrictions.

An Object can have multiple child Facts without a Key.

An Object can have only one Facts with a specific Key.

There is no limit to the number of child Facts for a parent Object. Some form of nesting is typically used to limit the number of child Facts for a given parent.

The total space of any Object is always 2n bytes, where n ranges from 7 to 31.

The total space available for data in a Fact is the Object’s space less the size of the Object head and the length value.

Help Library

Core

Dev

Kind

Kit

Leaf

Map

Message

Net

Overview

Packet

Primitives

Run

Secure

Session

Site

Socket

Sprint

Stack

Tool

The Tree

Primitives

Belt

Bond

Branch

Build

Fact

File

Glob

ID

Image

Leaf

Log

Markup

Money

Object

Package

Parse

Phrase

Render

Sprint

Stack

String

Sum

SVG

Time

Tray

Unit

Verb

Fact
Fact* Fact_Allocate(Stack* stack, UInt32 size)
Fact* Fact_New(Stack* stack, Object* parent, UInt32 size)
Fact* Fact_Obtain(Stack* stack, Object* parent, Int8* key, UInt32 size)
Fact* Fact_Replace(Stack* stack, Fact** fact_pointer, UInt32 size)

Fact_Replace_Buffer

Fact_Replace_Fact

Fact_Replace_Phrase

Fact_Replace_String

Fact* Fact_Allocate(Stack* stack, UInt32 size)