sysl

Module

sysl.raw

The raw tier’s reinterpreting forms: ptr_cast, str_cast and str_alias.

Import import sysl.raw

Each one takes a value the type system has checked and hands it back as something it has not: an address read as a pointer to some type, bytes taken as a string with nothing checked, a string laid over storage it did not allocate. The compiler answers all three itself – ptr_cast takes its target from the position its value fills, which no function signature can say – so nothing here is a declaration. What the module gives them is a home: a file names the ones it uses, the way it names anything else it did not declare, and a reader finds every reinterpretation in a program by its imports.

import sysl.raw.{ptr_cast, str_cast}

A file that declares a ptr_cast of its own calls that one, imported or not. The forms are specified in reference/memory.md (ptr_cast) and reference/strings.md (str_cast, str_alias).

Search

Esc
↑↓ to navigate ↵ to open Esc to close