-
-
Notifications
You must be signed in to change notification settings - Fork 0
Data Representation
All types, including datatypes, only exist within the type system. Whenever a piece of code tries to construct, access, or otherwise manipulate a piece of data it needs to be projected out to create a code fragment. This process is called "representation selection". Representation Selection is mostly handled by the standard library, however there is room for customization or replacement with alternative schemes if you feel so inclined.
Default storage schemes are Constant
, Reg8
, Reg16
, Reg32
, Reg64
, StackVariable
, LocalVariable
, and GlobalVariable
.
Constants are known at compile time and don't require runtime storage until they need to be constructed.
Registers are either 8 bit, 16 bit, 32 bit, or 64 bit registers.
Stack Variables are memory locations referenced relative to the stack pointer.
Local Variables are memory locations referenced relative to the base pointer.
Global Variables are .data section program locations.
The λ☶ source code and documentation are released under the terms of the attached permissive MIT license. This license is intended only to protect the future development of the project while otherwise allowing people to use the code and IP as they would like. Please, just be nice.