Skip to content

Keyword Index

Paul Squires edited this page Nov 9, 2026 · 15 revisions

Home › Keyword Index

Keyword Index

Every page in this wiki, A–Z. marks an tiko-lang addition.

A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z · #

A

Name What it does Category
#assert Preprocessor conditional directive. Preprocessor
Abs Returns the absolute value of a number. Mathematical Functions
AbsChecked Returns the absolute value as an Optional, empty for the most negative value. Math Library
AbsolutePath Returns the full form of a path against the current folder; the path need not exist. Filesystem
AbsSaturating Returns the absolute value; the most negative value becomes the maximum instead. Math Library
Abstract Declare abstract methods. User Defined Types
Access Limits a Binary or Random file in Open to reading, writing, or both. File I/O Functions
Acos Returns the angle in radians, from 0 to pi, whose cosine is the number. Mathematical Functions
Acosh Returns the inverse hyperbolic cosine of a number of 1 or more. Math Library
Add Adds source and destination colour values with Put, capped at 255. 2D Drawing Functions
Add Adds a key and value if the key is new; an existing value is left alone. Map
Add Adds a value; returns false if it was already there. Set
Add Adds 1, or a given amount, to the work outstanding; call it before the spawn. Goroutines and Channels
Add Adds one value to a running count, mean, variance, minimum and maximum. Math Library
AddCalendarDays Adds calendar days, keeping the same clock time across a DST change. Date and Time (Chrono)
AddCalendarMonths Adds calendar months, then works out the UTC offset again for the new date. Date and Time (Chrono)
AddChecked Adds two integers, returning an empty Optional if the result would overflow. Math Library
AddDays Adds days of exactly 24 hours, so the clock time can shift across a DST change. Date and Time (Chrono)
AddMonths Adds calendar months and leaves the UTC offset untouched. Date and Time (Chrono)
AddProduct Adds an amount times a rate to a running total, rounding only once at the end. Finance
AddSaturating Adds two integers, clamping the result to the type's minimum or maximum. Math Library
AddScaled Adds an amount times a fraction, such as one third, to a running total exactly. Finance
AddSink Attaches a sink to the logger, which keeps a pointer to it and does not own it. Logging
AddWrapping Adds two integers and wraps around on overflow, on purpose. Math Library
Alias (Modifier) Modifies the data type name mangling (decoration) of a public symbol. Standard Data Types
Alias (Name) Clause of the Sub and Function statements that provides an alternate internal name. Procedures
Allocate Reserves a number of bytes and returns a pointer to them, or 0; the bytes are not cleared. Memory Functions
Alpha Blends pixels with Put by each pixel's alpha, or by one alpha value you give. 2D Drawing Functions
Alphabetical Keywords List Alphabetical listing of keywords, macros and procedures. Language Documentation
And (Graphics Put) Combines source and destination pixels with a bitwise And, as a Put method. 2D Drawing Functions
Angle Returns the angle between two vectors in radians, from 0 to pi. Math Library
Any The Any keyword is used as a placeholder for a type or value in various ways. Procedures
Append Opens a text file with Open to add to its end, creating the file if needed. File I/O Functions
AppendAllText Adds text to the end of a file, creating the file if it is not there. Filesystem
Apportion Splits a Currency total by weights into parts that add up to it exactly. Finance
Arithmetic Operators Operators that can be used in mathematical expressions. Operators
Array Holds a growable list of values in order, reached by position from 0. Array
Array Container Array
Array Functions Statements and procedures for working with arrays. Array Functions
Array Results Array Results
ArrayIterator Holds a position in an Array; steps with IsValid, Value and MoveNext. Array
Arraylen Returns the total number of elements in an array, counting every dimension. Array Functions
Arraysize Returns the total size of an array's elements in bytes. Array Functions
As Part of a declaration which specifies a data type, or part of the Open statement which specifies a file handle. Miscellaneous Keywords
Asc Returns the character code at a position in a string. String Functions
Asin Returns the angle in radians, from -pi/2 to pi/2, whose sine is the number. Mathematical Functions
Asinh Returns the inverse hyperbolic sine of a number. Math Library
Asm Code block that allows the use of architecture-specific instructions. Programmer's Guide
Assert Debugging macro that halts program execution if an expression is evaluated to 0 (false). Miscellaneous Keywords
AssertWarn Debugging macro that prints a warning if an expression evaluates to 0. Miscellaneous Keywords
Assignment Operators Operators that assign values to operands. Operators
At Returns a reference to the element at a position, like a[ i ]. Array
Atan2 Returns the angle in radians, from -pi to pi, of the point at x, y. Mathematical Functions
Atanh Returns the inverse hyperbolic tangent of a number between -1 and 1. Math Library
Atn Returns the angle in radians, from -pi/2 to pi/2, whose tangent is the number. Mathematical Functions

B

Name What it does Category
Back Returns a reference to the back value without removing it. LinkedList
Base (Initializer) Specifies an initializer for the base UDT in derived Udt constructors. User Defined Types
Base (Member Access) Provides explicit access to base type members in non-static methods of a Type. User Defined Types
Beep Produces a beep sound. Miscellaneous Keywords
Between Returns the text between two delimiters. String Library
Bin Returns a number as binary text. String Functions
Binary Opens a file with Open for reading and writing bytes at any position. File I/O Functions
Bit Returns -1 if the numbered bit of an integer is set, or 0 if it is clear. Bit Manipulation
Bit Manipulation Macros that work with the bits and bytes of numbers. Bit Manipulation
BitReset Returns a copy of an integer with the numbered bit cleared to 0. Bit Manipulation
BitReverse Reverses the order of all the bits in the value's type. Math Library
BitSet Returns a copy of an integer with the numbered bit set to 1. Bit Manipulation
BitWidth Returns how many bits the value needs, or 0 for zero. Math Library
Bitwise Operators Truth Tables Computed values for the bitwise logical operators. Language Documentation
BLoad Loads a BMP file or BSave data onto the screen or into memory. 2D Drawing Functions
Boolean Standard data type. Standard Data Types
BSave Saves memory or the screen to a file, as a BMP image if the name ends in .bmp. 2D Drawing Functions
Byref (Function Results) Specifies that a function result is returned by reference. Procedures
Byref (Parameters) Declaration specifier to explicitly pass a parameter by reference. Procedures
Byref (Variables) Declares a reference. Variable Declarations
Byte Standard data type: 8 bit signed. Standard Data Types
ByteSwap Reverses the order of the bytes, converting between big-endian and little-endian. Math Library
ByVal Declaration specifier to explicitly pass a parameter by value. Procedures

C

Name What it does Category
CAbs Returns the modulus, the distance from zero, without overflowing for large parts. Math Library
CAcos Returns the inverse cosine of a complex number, or of any real number. Math Library
CAcosh Returns the inverse hyperbolic cosine of a complex number, or of any real number. Math Library
CAcot Returns the inverse cotangent of a complex number; zero gives zero. Math Library
CAcoth Returns the inverse hyperbolic cotangent of a complex number. Math Library
CAcsc Returns the inverse cosecant of a complex number, or of any real number. Math Library
CAcsch Returns the inverse hyperbolic cosecant of a complex number. Math Library
Call Statement to invoke a subroutine. Procedures
CAllocate Reserves memory for a number of elements, set to zero, and returns a pointer or 0. Memory Functions
Cancel Cancels the context and every context made from it; a second call is harmless. Goroutines and Channels
CanonicalPath Returns the real path with links resolved; it must exist unless allowMissing is true. Filesystem
Capacity Returns how many elements fit before the array has to grow. Array
Capacity Returns the number of slots in the table, always a power of two. Map
Capacity Returns the number of slots in the table, always a power of two. Set
CArg Returns the phase angle of a complex number in radians, from -pi to pi. Math Library
Case Control flow statement. Control Flow Statements
CAsec Returns the inverse secant of a complex number, or of any real number. Math Library
CAsech Returns the inverse hyperbolic secant of a complex number. Math Library
CAsin Returns the inverse sine of a complex number, or of any real number. Math Library
CAsinh Returns the inverse hyperbolic sine of a complex number. Math Library
Cast Converts a value to any named type, such as Cast(Byte, flag). Converting Data Types
CAtan Returns the inverse tangent of a complex number. Math Library
CAtanh Returns the inverse hyperbolic tangent of a complex number, or of any real number. Math Library
CBool Converts a number, or the text "true" or "false", to a boolean; zero gives false. Converting Data Types
Cbrt Returns the cube root of a number, negative numbers included. Math Library
CByte Converts a number or string to a Byte, rounding to the nearest; no overflow check. Converting Data Types
CConj Returns the conjugate, the same number with its imaginary part negated. Math Library
CCos Returns the cosine of a complex number. Math Library
CCosh Returns the hyperbolic cosine of a complex number. Math Library
CCot Returns the cotangent of a complex number, one over the tangent. Math Library
CCoth Returns the hyperbolic cotangent of a complex number, one over its tanh. Math Library
CCsc Returns the cosecant of a complex number, one over the sine; zero gives zero. Math Library
CCsch Returns the hyperbolic cosecant of a complex number, one over its sinh; zero gives zero. Math Library
CDbl Converts a number or string to a Double. Converting Data Types
cdecl Specifies a cdecl-style calling convention in a procedure declaration. Procedures
Ceil Rounds up, towards positive infinity, so Ceil(-2.7) is -2. Math Library
Ceiling Returns the amount rounded up to a whole unit, towards positive infinity. Finance
CExp Returns e raised to a complex power. Math Library
Chain Runs a program without arguments, waits, and returns its exit code or -1. Operating System Functions
Channel Holds a typed queue between goroutines; copies share it, and a new one is nil. Goroutines and Channels
Channel.Capacity Returns the buffer size the channel was made with; 0 means each value is handed over. Goroutines and Channels
Channel.ChannelIterator Holds a for each loop's place while it receives from a channel. Goroutines and Channels
Channel.Close Marks that no more values will be sent; values already buffered are still delivered. Goroutines and Channels
Channel.Count Returns how many values are buffered right now, as a snapshot. Goroutines and Channels
Channel.GetIterator Returns the iterator a for each loop uses to receive until the channel is drained. Goroutines and Channels
Channel.IsClosed Returns true once the channel is closed, even while values are still buffered. Goroutines and Channels
Channel.IsNil Returns true for a default-constructed channel, which blocks forever if used. Goroutines and Channels
Channel.Receive Receives a value, waiting for one; returns false once closed and drained. Goroutines and Channels
Channel.ReceiveFor Receives a value, waiting at most ms milliseconds; false on a timeout or end of stream. Goroutines and Channels
Channel.RecvChan Holds a receive-only view of a channel, which cannot send to it or close it. Goroutines and Channels
Channel.Send Sends a value, waiting for room or a receiver; raises an error if the channel is closed. Goroutines and Channels
Channel.SendChan Holds a send-only view of a channel, for a procedure that only produces. Goroutines and Channels
Channel.SendFor Sends a value, waiting at most ms milliseconds; returns false on a timeout. Goroutines and Channels
Channel.TryReceive Receives a value only if one is ready; returns false if empty or closed. Goroutines and Channels
Channel.TrySend Sends a value only if it can go at once; returns false if it would have to wait. Goroutines and Channels
ChDir Changes the current folder; returns 0 on success or -1 on failure. Operating System Functions
Choice Returns one element of an array picked at random, by reference. Math Library
Chr Returns a string made from one or more character codes. String Functions
Chrono Date and Time Date and Time (Chrono)
CImag Returns the imaginary part of a complex number, without the i. Math Library
CImaginaryOne Returns the imaginary unit i. Math Library
CInfinity Returns a complex number whose two parts are both positive infinity. Math Library
CInt Converts a number or string to an Integer, rounding to the nearest; no overflow check. Converting Data Types
Circle Draws a circle, ellipse or arc, optionally filled. 2D Drawing Functions
CIsFinite Returns true if both parts of a complex number are finite. Math Library
CIsInfinite Returns true if either part of a complex number is infinite. Math Library
CIsNaN Returns true if a complex number is NaN; one infinite part makes it infinite instead. Math Library
CIsReal Returns true if the imaginary part of a complex number is zero. Math Library
CIsZero Returns true if both parts of a complex number are zero. Math Library
Clamp Limits a value to a range: below lo gives lo, above hi gives hi. Math Library
Class Declares a type that always extends object: it has a vtable, run-time type information, and may implement interfaces. Interfaces
Classify Returns whether a value is NaN, infinite, zero, subnormal or normal. Math Library
Clear Sets a number of bytes, starting at a variable, to zero or to a given value. Memory Functions
Clear Removes every element but keeps the allocated room. Array
Clear Removes every entry. Map
Clear Removes every value. Set
Clear Removes every value and frees its nodes. LinkedList
Clear Empties the Optional, releasing whatever its value held. Optional
ClearFpException Clears one floating-point exception flag and leaves the others alone. Math Library
ClearFpExceptions Clears every floating-point exception flag. Math Library
ClearSinks Detaches every sink, without destroying any of them. Logging
ClipLeft Removes a number of characters from the start. String Library
ClipRight Removes a number of characters from the end. String Library
CLng Converts a number or string to a 32-bit Long, rounding to the nearest; no overflow check. Converting Data Types
CLngInt Converts a number or string to a 64-bit LongInt, rounding to the nearest. Converting Data Types
CLog Returns the natural logarithm of a complex number, or its logarithm to a given base. Math Library
CLog10 Returns the base-ten logarithm of a complex number. Math Library
CLogAbs Returns the logarithm of the modulus, without overflowing for large parts. Math Library
Close Closes one or more file numbers, or every open file when given none. File I/O Functions
Cls Clears the screen, or only the text or graphics viewport. Console Functions
CNaN Returns a complex number whose two parts are both NaN. Math Library
CNegate Returns a complex number with both parts negated. Math Library
CNorm Returns the modulus squared, the cheap way to compare sizes. Math Library
CNthRoot Returns any one of the n nth roots of a complex number. Math Library
Color Sets the colours for text printed from now on, and returns the previous ones. Console Functions
Command Returns command-line argument n, the program's name for 0, or all of them if omitted. Operating System Functions
Common Variable declaration and scope modifier. Modularizing
Compiler Error Messages Using the FreeBASIC compiler
Compiler Option: -a Add an object file to the linker's list. Using the FreeBASIC compiler
Compiler Option: -arch Set target architecture for improved/restricted code generation or cross-compiling. Using the FreeBASIC compiler
Compiler Option: -asm Set assembler format for inline assembly under -gen gcc. Using the FreeBASIC compiler
Compiler Option: -b Add a source file to compilation. Using the FreeBASIC compiler
Compiler Option: -buildprefix Set the internal buildprefix option. Using the FreeBASIC compiler
Compiler Option: -C Do not delete the object file(s) Using the FreeBASIC compiler
Compiler Option: -c Compile and assemble source file only, do not link. Using the FreeBASIC compiler
Compiler Option: -d Add a preprocessor definition. Using the FreeBASIC compiler
Compiler Option: -dll Create a DLL and import library. Using the FreeBASIC compiler
Compiler Option: -dylib Create a DLL and import library. Using the FreeBASIC compiler
Compiler Option: -e Add error checking. Using the FreeBASIC compiler
Compiler Option: -earray Enable array bounds checking. Using the FreeBASIC compiler
Compiler Option: -earraydims Enable array dimensions checking. Using the FreeBASIC compiler
Compiler Option: -eassert Enable assert() and assertwarn() checking. Using the FreeBASIC compiler
Compiler Option: -edebug Enable __FB_DEBUG__. Using the FreeBASIC compiler
Compiler Option: -edebuginfo Add debug information. Using the FreeBASIC compiler
Compiler Option: -elocation Enable full error location reporting. Using the FreeBASIC compiler
Compiler Option: -entry Override the public exported name of the implicit user main function. Using the FreeBASIC compiler
Compiler Option: -enullptr Enable null-pointer checking. Using the FreeBASIC compiler
Compiler Option: -eunwind Enable stack unwind information. Using the FreeBASIC compiler
Compiler Option: -ex Add error checking, the same as -e. Using the FreeBASIC compiler
Compiler Option: -export Export symbols for dynamic linkage. Using the FreeBASIC compiler
Compiler Option: -exx Add error checking with array bounds/dimensions and null-pointer checking, plus stack overflow checking with gas64 backend. Using the FreeBASIC compiler
Compiler Option: -forcelang Provides QuickBASIC or backward compatibility. Using the FreeBASIC compiler
Compiler Option: -fpmode Selects faster, less accurate or slower, more precise floating-point math. Using the FreeBASIC compiler
Compiler Option: -fpu Sets the math unit to be used for floating point arithmetic. Using the FreeBASIC compiler
Compiler Option: -g Add debug information, define __FB_DEBUG__, and enable asserts. Using the FreeBASIC compiler
Compiler Option: -gen Sets the backend code emitter. Using the FreeBASIC compiler
Compiler Option: -i Add a path to search for include files. Using the FreeBASIC compiler
Compiler Option: -include Include a header file on each source compiled. Using the FreeBASIC compiler
Compiler Option: -l Add a library file to the linker's list. Using the FreeBASIC compiler
Compiler Option: -lang Provides QuickBASIC or backward compatibility. Using the FreeBASIC compiler
Compiler Option: -lib Create a static library. Using the FreeBASIC compiler
Compiler Option: -m Main file without extension to indicate the main module. Using the FreeBASIC compiler
Compiler Option: -map Save the linking map to file name. Using the FreeBASIC compiler
Compiler Option: -maxerr Set maximum number of errors to report before aborting compilation. Using the FreeBASIC compiler
Compiler Option: -mt Link with thread-safe runtime library. Using the FreeBASIC compiler
Compiler Option: -nocopylibs Using the tiko compiler
Compiler Option: -nodeflibs Do not include the default libraries. Using the FreeBASIC compiler
Compiler Option: -noerrline Do not show source line where error occurred. Using the FreeBASIC compiler
Compiler Option: -nolib Do not include specific library(s). Using the FreeBASIC compiler
Compiler Option: -norpath Using the tiko compiler
Compiler Option: -noobjinfo Do not read/write compile-time info from/to .o and .a files. Using the FreeBASIC compiler
Compiler Option: -nostrip Do not strip symbol information from the output file. Using the FreeBASIC compiler
Compiler Option: -O Set the optimization level for GCC. Using the FreeBASIC compiler
Compiler Option: -o Set object file path/name. Using the FreeBASIC compiler
Compiler Option: -p Add a path to search for libraries. Using the FreeBASIC compiler
Compiler Option: -pic Generate position-independent code (non-x86 Unix shared libs) Using the FreeBASIC compiler
Compiler Option: -pp Emit the preprocessed input file only, do not compile. Using the FreeBASIC compiler
Compiler Option: -prefix Set the compiler prefix path. Using the FreeBASIC compiler
Compiler Option: -print Print out information. Using the FreeBASIC compiler
Compiler Option: -profgen Enable function profiling by selecting a specific profiler. Using the FreeBASIC compiler
Compiler Option: -profile Enable function profiling for gmon/gprof. Using the FreeBASIC compiler
Compiler Option: -R Preserve intermediate *.asm/*.c/*.ll file(s) generated by compilation. Using the FreeBASIC compiler
Compiler Option: -r Compile into *.asm/*.c/*.ll file(s) only, do not assemble or link. Using the FreeBASIC compiler
Compiler Option: -RR Preserve intermediate *.asm files generated by compilation. Using the FreeBASIC compiler
Compiler Option: -rr Compile into *.asm file(s) only, do not assemble or link. Using the FreeBASIC compiler
Compiler Option: -s Sets the executable subsystem. Using the FreeBASIC compiler
Compiler Option: -showincludes Display a tree of file names of #included files. Using the FreeBASIC compiler
Compiler Option: -static Prefer static libraries over dynamic ones when linking. Using the FreeBASIC compiler
Compiler Option: -strip Omit all symbol information from the output file. Using the FreeBASIC compiler
Compiler Option: -sysroot Add a path to search for libraries. Using the FreeBASIC compiler
Compiler Option: -t Set stack size in kilobytes. Using the FreeBASIC compiler
Compiler Option: -target Set the target platform for cross compilation. Using the FreeBASIC compiler
Compiler Option: -v Be verbose. Using the FreeBASIC compiler
Compiler Option: -vec Enables vector optimizations by the compiler. Using the FreeBASIC compiler
Compiler Option: -version Show compiler version. Using the FreeBASIC compiler
Compiler Option: -w Set minimum warning level. Using the FreeBASIC compiler
Compiler Option: -Wa Pass options to the assembler when using the assembly emitter (-gen gas). Using the FreeBASIC compiler
Compiler Option: -Wc Pass options to the C compiler when using the C emitter (-gen gcc). Using the FreeBASIC compiler
Compiler Option: -Wl Using the FreeBASIC compiler
Compiler Option: -x Using the FreeBASIC compiler
Compiler Option: -z Sets miscellaneous or experimental compiler options. Using the FreeBASIC compiler
Compiler Option: @file Read (additional) command-line options from the file. Using the FreeBASIC compiler
Complex Holds a complex number as two Doubles, re and im. Math Library
Complex operators Adds, subtracts, multiplies, divides, raises and compares complex numbers. Math Library
CondBroadcast Wakes every thread waiting on the condition. Threading Support Functions
CondCreate Creates a condition variable and returns its handle, or 0 on failure. Threading Support Functions
CondDestroy Destroys a condition variable once no thread is waiting on it. Threading Support Functions
CondSignal Wakes one thread waiting on the condition; the signal is lost if none is waiting. Threading Support Functions
CondWait Unlocks the mutex and waits for a signal, then locks the mutex again. Threading Support Functions
COne Returns the complex number 1. Math Library
Conjugate Returns the conjugate of a quaternion, the reverse rotation when it is normalised. Math Library
Console Functions Procedures that work with the console. Console Functions
ConsoleSink Holds a sink that writes to stderr or stdout, in colour only on a terminal. Logging
Const Non-modifiable variable declaration. Variable Declarations
Const (Member) Specifies that a member procedure is read only. User Defined Types
Const (Qualifier) Specifies that a data type or pointer data type is read only. Standard Data Types
Constructor Called automatically when a class or user defined type is created. User Defined Types
Constructor (Module) Specifies execution of a procedure before module-level code. Procedures
Contains Returns true if the text appears anywhere in the string. String Library
Contains Returns true if any element equals the value. Array
Contains Returns true if the key is present, without adding it. Map
Contains Returns true if the value is in the set. Set
Context Holds the background context, which is never cancelled and is the root of all others. Goroutines and Channels
Continue Control flow statement to continue next iteration of a loop. Control Flow Statements
Control Flow Statements Statements that direct the flow of program execution. Control Flow Statements
Converting Data Types Operators and procedures that convert between different types. Converting Data Types
CopyDir Copies a folder and everything in it; returns how many entries it created. Filesystem
CopyFile Copies a file; fails if the destination exists unless overwrite is true. Filesystem
CopyOptions.CopySymlinksAsLinks Chooses whether CopyDir copies a link as a link rather than its target; true by default. Filesystem
CopyOptions.Overwrite Chooses whether CopyDir replaces files already at the destination; false by default. Filesystem
CopyOptions.PreservePermissions Chooses whether CopyDir keeps permission bits or attributes; false by default. Filesystem
CopyOptions.PreserveTimestamps Chooses whether CopyDir keeps each file's times; false by default. Filesystem
CopySign Returns a number's size with the sign of a second number, zero's sign included. Math Library
Correlation Returns the Pearson correlation of two arrays, from -1 to 1. Math Library
Cos Returns the cosine of an angle in radians. Mathematical Functions
Cosh Returns the hyperbolic cosine of a number. Math Library
Count Returns the number of elements; the valid indices are 0 to Count minus 1. Array
Count Returns the number of entries; reading an absent key with m[ k ] adds one. Map
Count Returns the number of values in the set. Set
Count Returns the number of values in the list. LinkedList
Count Returns how much work is still outstanding, as a snapshot. Goroutines and Channels
Count Counts the elements in an array. Math Library
Covariance Returns the sample covariance of two arrays of the same length. Math Library
CPolar Builds a complex number from a modulus and an angle in radians. Math Library
CPow Raises a complex or real number to a complex or real power. Math Library
CPtr Converts a pointer or an integer to the given pointer type. Converting Data Types
CpuClock.IsSupported Returns true if the platform can report processor time. Date and Time (Chrono)
CpuClock.ProcessKernelTime Returns the processor time the OS has spent working on behalf of this process. Date and Time (Chrono)
CpuClock.ProcessTime Returns the processor time this process has used so far, user and kernel together. Date and Time (Chrono)
CpuClock.ProcessUserTime Returns the processor time this process has spent running its own code. Date and Time (Chrono)
CpuClock.ThreadTime Returns the processor time the calling thread has used, user and kernel together. Date and Time (Chrono)
CReal Returns the real part of a complex number. Math Library
CreateDir Creates one folder; fails if something is already there. Filesystem
CreateDirAll Creates a folder and any missing parents; succeeds if it already exists. Filesystem
CreateHardLink Gives an existing file a second name on the same volume. Filesystem
CreateSymlink Creates a symbolic link to a target; on Windows this usually needs privilege. Filesystem
CreateTempDir Creates a uniquely named temporary folder and returns its path; it is not deleted for you. Filesystem
CreateTempFile Creates a uniquely named temporary file and returns its path; it is not deleted for you. Filesystem
CReciprocal Returns one divided by a complex number; zero gives zero. Math Library
Cross Returns a Vec3 perpendicular to both inputs; swapping them flips its direction. Math Library
CryptoBytes Fills a buffer with secure random bytes from the operating system; false on failure. Math Library
CryptoULongInt Returns a secure random 64-bit value from the operating system. Math Library
CSec Returns the secant of a complex number, one over the cosine. Math Library
CSech Returns the hyperbolic secant of a complex number, one over its cosh. Math Library
CSet Builds a complex number from its real and imaginary parts. Math Library
CSetImag Sets the imaginary part of a complex variable in place. Math Library
CSetReal Sets the real part of a complex variable in place. Math Library
CSgn Returns a complex number scaled to modulus 1, or zero for zero. Math Library
CShort Converts a number or string to a Short, rounding to the nearest; no overflow check. Converting Data Types
CSign Converts an unsigned value to signed, so division and shifts treat it as signed. Converting Data Types
CSin Returns the sine of a complex number. Math Library
CSinh Returns the hyperbolic sine of a complex number. Math Library
CSng Converts a number or string to a Single. Converting Data Types
CSqrt Returns the principal square root of a complex number or of a negative real. Math Library
CsrLin Returns the row the cursor is on, counting from 1 at the top. Console Functions
CSwap Swaps the values of two complex variables. Math Library
CTan Returns the tangent of a complex number, finite even for a large imaginary part. Math Library
CTanh Returns the hyperbolic tangent of a complex number. Math Library
CToString Returns a complex number as text such as 3+4i that reads back exactly. Math Library
CToStringPolar Returns a complex number as polar text, such as 5 * exp(0.927i). Math Library
CUByte Converts a number or string to a UByte, rounding to the nearest; no overflow check. Converting Data Types
CUInt Converts a number or string to a UInteger, rounding to the nearest; no overflow check. Converting Data Types
CULng Converts a number or string to a 32-bit ULong, rounding to the nearest; no overflow check. Converting Data Types
CULngInt Converts a number or string to a 64-bit ULongInt, rounding to the nearest. Converting Data Types
CUnsg Converts a signed value to unsigned, so division and shifts treat it as unsigned. Converting Data Types
CurDir Returns the current folder. Operating System Functions
Currency Holds an exact amount with four decimal places, for money that needs no more. Finance
CurrencyFromDouble Converts a double to a Currency, rounded to four decimal places. Finance
CurrencyFromInt Returns a Currency of a whole number of units, exactly. Finance
CurrencyFromParts Returns a Currency from whole units and a ten-thousandths part, exactly. Finance
CurrencyFromRaw Returns a Currency from its stored integer, which is the amount times 10000. Finance
CurrencyInvalid Returns the Invalid Currency, which overflow also produces; it never equals anything. Finance
CurrencyParse Parses text into a Currency exactly; returns empty on bad input or over four places. Finance
CurrentDir Returns the program's current folder. Filesystem
CurrentLocaleFormat Returns a NumFormat holding this machine's decimal and thousands separators. Math Library
CUShort Converts a number or string to a UShort, rounding to the nearest; no overflow check. Converting Data Types
Custom Calls your own function for each pixel to combine source and destination in Put. 2D Drawing Functions
Cva_Arg Macro to obtain the next argument from a variadic argument list object. Procedures
Cva_Copy Macro to initialize variadic argument list object variable from an already initialized variadic argument list object variable. Procedures
Cva_End Macro to clean-up a variadic argument list object variable. Procedures
Cva_List Variadic argument list object type. Procedures
Cva_Start Macro to initialize variadic argument list object variable. Procedures
CVD Reads a Double back from an 8-byte string. String Functions
CVI Reads an integer back from a string of its bytes. String Functions
CVL Reads a Long back from a 4-byte string. String Functions
CVLongInt Reads a LongInt back from an 8-byte string. String Functions
CVS Reads a Single back from a 4-byte string. String Functions
CVShort Reads a Short back from a 2-byte string. String Functions
CZero Returns the complex number 0. Math Library

D

Name What it does Category
#define Preprocessor directive to define a macro. Preprocessor
$Dynamic Metacommand to change the way arrays are allocated. Array Functions
Data Statement to store data at compile time. Miscellaneous Keywords
Date Returns today's date as text in the form mm-dd-yyyy. Date and Time Functions
Date and Time Functions Procedures that work with dates and time. Date and Time Functions
DateAdd Returns a date serial moved by a number of years, months, days, hours or other units. Date and Time Functions
DateDiff Counts the years, months, days or other units between two date serials. Date and Time Functions
DatePart Returns one part of a date serial, such as its year, quarter, week or hour. Date and Time Functions
DateSerial Returns the date serial for a year, month and day; out-of-range values roll over. Date and Time Functions
DateTime Creates a date-time from a year, month, day and optional time, or Invalid if none. Date and Time (Chrono)
DateTime.AddCalendarDays Returns the same clock time a number of days later, even across a DST change. Date and Time (Chrono)
DateTime.AddCalendarMonths Returns the same clock time some months later, clamping the day to the month's end. Date and Time (Chrono)
DateTime.AddCalendarYears Returns the same clock time some years later, with the UTC offset worked out again. Date and Time (Chrono)
DateTime.AddDays Returns the date-time moved by days of exactly 24 hours, fractions allowed. Date and Time (Chrono)
DateTime.AddHours Returns the date-time moved by a number of hours, fractions allowed. Date and Time (Chrono)
DateTime.AddMilliseconds Returns the date-time moved by a number of milliseconds, fractions allowed. Date and Time (Chrono)
DateTime.AddMinutes Returns the date-time moved by a number of minutes, fractions allowed. Date and Time (Chrono)
DateTime.AddMonths Returns the date-time moved by whole months, clamping the day to the month's end. Date and Time (Chrono)
DateTime.AddSeconds Returns the date-time moved by a number of seconds, fractions allowed. Date and Time (Chrono)
DateTime.AddTicks Returns the date-time moved by a number of 100 ns ticks. Date and Time (Chrono)
DateTime.AddYears Returns the date-time moved by whole years; 29 February becomes the 28th if needed. Date and Time (Chrono)
DateTime.AssumeUtc Returns the moment the date-time names if its clock reading is taken as UTC. Date and Time (Chrono)
DateTime.Day Returns the day of the month, starting at 1. Date and Time (Chrono)
DateTime.DayOfWeek Returns the day of the week, 1 for Monday to 7 for Sunday. Date and Time (Chrono)
DateTime.DayOfYear Returns the day of the year, starting at 1. Date and Time (Chrono)
DateTime.DaysInMonth Returns the number of days in a month of a given year. Date and Time (Chrono)
DateTime.DaysInYear Returns 365 or 366, the number of days in a year. Date and Time (Chrono)
DateTime.EndOfDay Returns the last tick of the same day, 23:59:59.9999999. Date and Time (Chrono)
DateTime.EndOfMonth Returns the last tick of the last day of the month. Date and Time (Chrono)
DateTime.EndOfYear Returns the last tick of 31 December of the same year. Date and Time (Chrono)
DateTime.FileTime Returns the date-time as a Windows FILETIME: 100 ns ticks since 1601-01-01. Date and Time (Chrono)
DateTime.FromDate Returns a date-time at midnight on the given date. Date and Time (Chrono)
DateTime.FromDateTime Returns a date-time that joins a date and a time of day. Date and Time (Chrono)
DateTime.FromFileTime Creates a UTC date-time from a Windows FILETIME. Date and Time (Chrono)
DateTime.FromInstant Returns the date-time a moment shows on a clock with the given UTC offset. Date and Time (Chrono)
DateTime.FromJulianDay Creates a date-time from a fractional Julian day. Date and Time (Chrono)
DateTime.FromOleDate Creates a date-time from an OLE automation date. Date and Time (Chrono)
DateTime.FromSerial Creates a date-time from a date serial, the days since 1899-12-30. Date and Time (Chrono)
DateTime.GetDate Returns the date part as a LocalDate, dropping the time and the offset. Date and Time (Chrono)
DateTime.GetTimeOfDay Returns the time-of-day part as a LocalTime. Date and Time (Chrono)
DateTime.HasOffset Returns true if the date-time carries a UTC offset. Date and Time (Chrono)
DateTime.Hour Returns the hour, 0 to 23. Date and Time (Chrono)
DateTime.IsFirstDayOfMonth Returns true if the date is the first day of its month. Date and Time (Chrono)
DateTime.IsLastDayOfMonth Returns true if the date is the last day of its month. Date and Time (Chrono)
DateTime.IsLeapYear Returns true if a year is a leap year under the full Gregorian rule. Date and Time (Chrono)
DateTime.IsoWeek Returns the ISO week number, 1 to 53; pair it with IsoWeekYear. Date and Time (Chrono)
DateTime.IsoWeekYear Returns the year the ISO week belongs to, which can differ from Year near New Year. Date and Time (Chrono)
DateTime.IsUtc Returns true if the offset is zero; a date-time with no offset is not UTC. Date and Time (Chrono)
DateTime.JulianDay Returns the Julian day, a fractional day count whose days start at noon. Date and Time (Chrono)
DateTime.JulianDayNumber Returns the whole Julian day number, without the fraction. Date and Time (Chrono)
DateTime.Microsecond Returns the microseconds within the second, the milliseconds included. Date and Time (Chrono)
DateTime.Millisecond Returns the milliseconds within the second, 0 to 999. Date and Time (Chrono)
DateTime.Minute Returns the minute, 0 to 59. Date and Time (Chrono)
DateTime.Month Returns the month, 1 to 12. Date and Time (Chrono)
DateTime.MonthName Returns a month's name in the user's language, or its abbreviation. Date and Time (Chrono)
DateTime.NextWeekday Returns the same time on the next given weekday, always strictly later. Date and Time (Chrono)
DateTime.OffsetMinutes Returns the UTC offset in minutes; check HasOffset first, as no offset reads 32767. Date and Time (Chrono)
DateTime.OleDate Returns the date-time as an OLE automation date, the number Excel and ADO use. Date and Time (Chrono)
DateTime.ParseExact Reads text laid out by a pattern such as "dd/MM/yyyy", or Invalid if it does not match. Date and Time (Chrono)
DateTime.PrevWeekday Returns the same time on the previous given weekday, always strictly earlier. Date and Time (Chrono)
DateTime.Quarter Returns the calendar quarter, 1 to 4. Date and Time (Chrono)
DateTime.Second Returns the second, 0 to 59. Date and Time (Chrono)
DateTime.Serial Returns the date-time as a date serial: days since 1899-12-30, with a fraction. Date and Time (Chrono)
DateTime.StartOfDay Returns midnight at the start of the same day, keeping the offset. Date and Time (Chrono)
DateTime.StartOfMonth Returns midnight on the first day of the month. Date and Time (Chrono)
DateTime.StartOfWeek Returns midnight on the first day of the week, Monday unless told otherwise. Date and Time (Chrono)
DateTime.StartOfYear Returns midnight on 1 January of the same year. Date and Time (Chrono)
DateTime.TickOfDay Returns the time of day as one number: 100 ns ticks since midnight. Date and Time (Chrono)
DateTime.ToInstant Returns the moment the date-time names, or Invalid if it has no offset. Date and Time (Chrono)
DateTime.ToLocal Returns the same moment shown at the machine's local UTC offset. Date and Time (Chrono)
DateTime.ToLocaleDateString Returns the date as the machine's locale writes it, for display only. Date and Time (Chrono)
DateTime.ToLocaleString Returns the date and time as the machine's locale writes them, for display only. Date and Time (Chrono)
DateTime.ToLocaleTimeString Returns the time of day as the machine's locale writes it, for display only. Date and Time (Chrono)
DateTime.ToOffset Converts to another UTC offset, keeping the moment and changing the clock reading. Date and Time (Chrono)
DateTime.TryFormat Formats the date-time with a pattern into a variable; returns false if the pattern is bad. Date and Time (Chrono)
DateTime.TryParse Reads ISO 8601 text into a date-time, the same as TryParseIso. Date and Time (Chrono)
DateTime.TryParseExact Reads text laid out by a pattern into a date-time; returns false if it does not match. Date and Time (Chrono)
DateTime.WeekdayName Returns a weekday's name in the user's language, 1 being Monday, or its abbreviation. Date and Time (Chrono)
DateTime.WeeksInYear Returns 52 or 53, the number of ISO weeks in a year. Date and Time (Chrono)
DateTime.WithOffset Attaches a UTC offset in minutes, keeping the clock reading and changing the moment. Date and Time (Chrono)
DateTime.Year Returns the year, 1 to 9999. Date and Time (Chrono)
DateValue Returns the date serial for text written in the system's date format. Date and Time Functions
Day Returns the day of the month of a date serial. Date and Time Functions
Deallocate Frees memory from Allocate, CAllocate or Reallocate; does nothing for a null pointer. Memory Functions
Debug Logs a message at the debug level, or returns a record to add fields to. Logging
Debugging Using the FreeBASIC compiler
Decimal Holds an exact decimal number with up to 28 places, for rates, prices and results. Finance
DecimalApportion Splits a Decimal total by weights, at a scale you choose, into parts that add up exactly. Finance
DecimalCompare Returns -1, 0 or 1 comparing two Decimals by value, or -2 if either is Invalid. Finance
DecimalFromCurrency Converts a Currency to a Decimal, exactly. Finance
DecimalFromDouble Converts a double to a Decimal of 15 significant digits; NaN or infinity gives Invalid. Finance
DecimalFromInt Returns a 64-bit integer as a Decimal, exactly. Finance
DecimalFromParts Builds a Decimal from three 32-bit mantissa words, a sign flag and a scale. Finance
DecimalFromScaled Returns a whole number over a power of ten as a Decimal: 1999 at scale 2 is 19.99. Finance
DecimalFromUInt Returns an unsigned 64-bit integer as a Decimal, exactly. Finance
DecimalInvalid Returns the Invalid Decimal, which overflow and division by zero also produce. Finance
DecimalMaxValue Returns the largest value a Decimal can hold. Finance
DecimalMinusOne Returns minus one as a Decimal. Finance
DecimalMinValue Returns the most negative value a Decimal can hold. Finance
DecimalOne Returns one as a Decimal. Finance
DecimalParse Parses text into a Decimal exactly; returns empty on bad input or over 28 places. Finance
DecimalZero Returns zero, the same value a new Decimal starts with. Finance
Declare Declares a module-level or member procedure. Procedures
Default Palettes Default color values for FreeBASIC graphics and text screen modes. Graphics Library Reference
Defer Defer
defined Preprocessor function to test if a symbol has been defined. Preprocessor
DegToRad Converts an angle from degrees to radians. Math Library
DeleteAt Deletes a number of characters at a position. String Library
Destructor Called automatically when a class or user defined type goes out of scope or is destroyed. User Defined Types
Destructor (Module) Specifies execution of a procedure at program termination. Procedures
Determinant Returns the determinant of a matrix; zero means it has no inverse. Math Library
Dim Declares a variable. Variable Declarations
Dir Returns the first name matching a pattern, then the next one on each later call. Operating System Functions
DirEntry.Depth Returns how deep the entry is in a walk, 0 for the children of the folder walked. Filesystem
DirEntry.Info Returns the entry's FileInfo: free on Windows, one extra system call on Linux and macOS. Filesystem
DirEntry.IsDirectory Returns true if the entry is a folder; a link to a folder reports as a link. Filesystem
DirEntry.IsFile Returns true if the entry is a file; a link reports as a link, not as its target. Filesystem
DirEntry.IsOther Returns true if the entry is a device, pipe or socket rather than a file, folder or link. Filesystem
DirEntry.IsSymlink Returns true if the entry is a symbolic link. Filesystem
DirEntry.Name Returns the entry's name, without its folder. Filesystem
DirEntry.Path Returns the entry's full path, ready to open. Filesystem
DirIterator Holds the iterator ReadDir hands out, for stepping through a folder without for each. Filesystem
DirIterator.IsValid Returns true while the iterator is on an entry. Filesystem
DirIterator.MoveNext Moves the iterator on to the next entry. Filesystem
DirIterator.Value Returns the current entry by reference; the next MoveNext makes it invalid. Filesystem
DiskSpace.AvailableBytes Returns the bytes this user may still write; the number to check before writing. Filesystem
DiskSpace.FreeBytes Returns the free bytes on the volume, ignoring quotas; the number to report. Filesystem
DiskSpace.TotalBytes Returns the capacity of the volume in bytes. Filesystem
Distance Returns the distance between two points. Math Library
DistanceSquared Returns the squared distance between two points, the cheap way to test a range. Math Library
DivChecked Divides two integers, returning an empty Optional on division by zero or overflow. Math Library
DivMod Returns the quotient and the remainder of one division together, as a tuple. Math Library
Do Control flow statement for looping. Miscellaneous Keywords
Do...Loop Control flow statement for looping. Control Flow Statements
Done Subtracts one from the work outstanding; raises an error if it would go below zero. Goroutines and Channels
DOS Keyboard Scancodes Listing of keyboard scancodes. Graphics Library Reference
Dot Returns the dot product of two vectors; zero means they are perpendicular. Math Library
Double Standard data type: 64 bit floating point. Mathematical Functions
Draw Draws a figure from a string of pen commands such as "U10 R10". Screen Functions
Draw String Draws text at a pixel position, on a transparent background, with an optional font. 2D Drawing Functions
DyLibFree Unloads a dynamic link library from memory. Modularizing
DyLibLoad Loads to a Dynamic Link Library (DLL) into memory at runtime. Modularizing
DyLibSymbol Returns the address of a function or variable in a dll. Modularizing

E

Name What it does Category
#else Preprocessor conditional directive. Preprocessor
#elseif Preprocessor conditional directive. Preprocessor
#elseifdef Preprocessor conditional directive. Preprocessor
#elseifndef Preprocessor conditional directive. Preprocessor
#endif Preprocessor conditional directive. Preprocessor
#error Preprocessor diagnostic directive. Preprocessor
Else Control flow statement for conditional branching. Control Flow Statements
ElseIf Control flow statement for conditional branching. Control Flow Statements
Emit Sends a finished record straight to every attached sink. Logging
Enabled Returns true if a record at a level would be emitted, to skip building costly messages. Logging
Encoding Sets the Unicode encoding of a text file in Open; a file read this way needs a BOM. File I/O Functions
End (Block) Indicates the end of a compound statement block. Miscellaneous Keywords
End (Statement) Control flow statement to end the program. Miscellaneous Keywords
End If Control flow statement for conditional branching. Miscellaneous Keywords
EndsWith Returns true if the string ends with the given text. String Library
Enum Declares an enumerated type. User Defined Types
Environ Returns the value of an environment variable, or an empty string if it is not set. Operating System Functions
EOF Returns true when an open file has nothing left to read. File I/O Functions
Equals Returns true if two slices hold the same code units, optionally ignoring case. String Slices
Erase Frees a variable-length array's elements, or resets those of a fixed-length array. Array Functions
Erfn Returns a pointer to the name of the failing procedure; null unless built with -exx. Error Handling Functions
Erl Returns the source line of the last runtime error, or 0 if there was none. Error Handling Functions
Ermn Returns a pointer to the name of the source file where the last error happened. Error Handling Functions
Err Returns the number of the last runtime error, or sets it without jumping. Error Handling Functions
Err Returns why the context ended: "cancelled", "deadline exceeded", or "" while live. Goroutines and Channels
Error Raises a runtime error by number: jumps to the handler, or ends the program. Error Handling Functions
Error Logs a message at the error level, or returns a record to add fields to. Logging
Error Handling Handling runtime errors. Language Documentation
Error Handling Functions Statements and procedures that provide runtime error-handling capabilities. Error Handling Functions
Escape Replaces quotes, backslashes and control characters with backslash escapes. String Library
Escape Sequences Escape sequences can be used in string literals by using the operator ! . Language Documentation
EuclidDiv Divides whole numbers so that the matching EuclidMod remainder is never negative. Math Library
EuclidMod Returns a remainder that is never negative, whatever the signs. Math Library
Event (Message Data From Screenevent) Holds one event fetched by ScreenEvent: its type and its key or mouse data. Screen Functions
ExceptWith Removes every value that is also in another set. Set
Exec Runs a program by its path with arguments, waits, and returns its exit code or -1. Operating System Functions
ExePath Returns the folder that holds the running program. Operating System Functions
Exists Returns true if a file or folder is there; false also when access is denied. Filesystem
Exit Control flow statement to exit a compound statement block. Control Flow Statements
Exp Returns e raised to a power. Mathematical Functions
Exp2 Returns 2 raised to a power. Math Library
Expired Returns true once the object has been destroyed. Smart Pointers
Expm1 Returns e raised to a power, minus one, accurately for powers near zero. Math Library
Export Definition specifier to indicate that a procedure in a DLL should be visible from other programs. Modularizing
Extends Specifies a base type from which to derive a new type. User Defined Types
Extends Wstring Specifies a type which inherits a Wstring behavior. User Defined Types
Extends Zstring Specifies a type which inherits a Zstring behavior. User Defined Types
Extern Declares a variable, array or object having external linkage. Modularizing
Extern...End Extern Statement block to allow calling of functions compiled for specific languages or platforms. Modularizing
Extract Returns the text before a match, or the whole rest if there is none. String Library
ExtractChars Returns the text before the first character from a set. String Library

F

Name What it does Category
Fail Returns a failed Result holding the reason; both types must be written out. Result
Failure Returns the reason by reference; raises an error if the Result succeeded. Result
False Intrinsic constant set by the compiler. Intrinsic Defines
Fatal Logs a message at the most severe level, or returns a record; it does not end the program. Logging
Fb_Memcopy Copies a number of bytes between two memory areas that do not overlap. Memory Functions
fb_MemCopyClear Copies the first bytes of one area into another and sets the rest to zero. Memory Functions
Fb_Memmove Copies a number of bytes between two memory areas, even when they overlap. Memory Functions
Fbarray (Array Descriptor Structure And Access) Holds an array's descriptor: its bounds, sizes and data pointers. Array Functions
Field Specifies field alignment. User Defined Types
File I/O Functions Statements and procedures for working with files and devices. File I/O Functions
FileAttr Returns an open file number's mode, system handle or encoding. Operating System Functions
FileCopy Copies a file, overwriting the destination; returns 0 on success. Operating System Functions
FileDateTime Returns when a file was last modified, as a date serial. Operating System Functions
FileExists Returns non-zero if the file exists, or 0 if it does not. Operating System Functions
FileFlush Writes buffered output for one or all open files to the system, or on to disk. Operating System Functions
FileInfo.AccessedUtc Returns the last-access time in ticks, or 0 when HasAccessed is false. Filesystem
FileInfo.CreatedUtc Returns the creation time in ticks, or 0 when HasCreated is false. Filesystem
FileInfo.Exists Returns true if the FileInfo describes something that exists. Filesystem
FileInfo.HasAccessed Returns true if the platform records access times, so Accessed means something. Filesystem
FileInfo.HasCreated Returns true if the platform records creation times, so Created means something. Filesystem
FileInfo.IsDirectory Returns true if the path is a folder. Filesystem
FileInfo.IsFile Returns true if the path is a regular file. Filesystem
FileInfo.IsHidden Returns true if hidden: the hidden flag on Windows, a leading dot on Linux and macOS. Filesystem
FileInfo.IsOther Returns true if the path is a device, pipe or socket rather than a file, folder or link. Filesystem
FileInfo.IsReadOnly Returns true if unwritable: the read-only flag, or no write bit on Linux and macOS. Filesystem
FileInfo.IsSymlink Returns true if the path is a symbolic link; only ever true from LStat. Filesystem
FileInfo.ModifiedUtc Returns the last-write time in ticks of 100 ns since 0001-01-01 UTC. Filesystem
FileInfo.NativeAttributes Returns the raw attribute word: attributes on Windows, mode bits on Linux and macOS. Filesystem
FileInfo.NativeAttributes Returns the raw attribute word: attributes on Windows, mode bits on Linux and macOS. Filesystem
FileInfo.Size Returns the size in bytes. Filesystem
FileLen Returns the size of a named file in bytes. Operating System Functions
FileLock.Acquire Takes a lock on a file that cooperating programs share, waiting up to a timeout. Filesystem
FileLock.IsHeld Returns true while this FileLock holds its lock. Filesystem
FileLock.Release Releases the lock; harmless when none is held. Filesystem
FileSetEof Cuts or extends an open file so that it ends at the current position. Operating System Functions
Filesystem Library Filesystem
FileWatcher.IsWatching Returns true while the watcher is running. Filesystem
FileWatcher.Poll Fills an Array with the changes seen since the last call, waiting up to a timeout. Filesystem
FileWatcher.Start Starts watching a folder for changes, subfolders too when recursive is true. Filesystem
FileWatcher.Stop Stops watching; harmless when not watching. Filesystem
Find Returns the position of the first match in a slice, counting from 0, or -1. String Slices
Fix Returns the whole-number part, rounding towards zero, so Fix(-4.9) is -4. Mathematical Functions
Fixed-Width Types Fixed-Width Types
Flip Shows the OpenGL back buffer, or copies a page as ScreenCopy does in other modes. Screen Functions
Float32 Fixed-Width Types
Float64 Fixed-Width Types
Floor Rounds down, towards negative infinity, so Floor(-2.1) is -3. Math Library
FloorDiv Divides whole numbers rounding towards negative infinity, so FloorDiv(-7, 2) is -4. Math Library
FloorMod Returns the remainder with the divisor's sign, so FloorMod(-1, 5) is 4. Math Library
Flush Flushes every sink attached to the logger. Logging
Fma Returns x * y + z with a single rounding at the end. Math Library
For Control flow statement, open statement clause, or operator depending on context. Miscellaneous Keywords
For Each For Each
For...Next Control flow statement for looping. Operators
ForEach Calls a procedure on every element in order, passing each by reference. Array
#cinclude C Header Import
#cinclude Tutorial C Header Import
C Header Import C Header Import
#foreignlib Foreign Library Linking
#foreignlib Tutorial Foreign Library Linking
Foreign Library Linking Foreign Library Linking
Format Formats a number with a picture string such as "#,##0.00". String Functions
Frac Returns the fractional part, keeping the sign, so Frac(-1.75) is -0.75. Mathematical Functions
Fre Returns the amount of free physical memory, in bytes. Operating System Functions
FreeFile Returns an unused file number for Open, or 0 if all 255 are taken. File I/O Functions
Frexp Splits a number into a fraction from 0.5 to 1 and a power of two. Math Library
Front Returns a reference to the front value without removing it. LinkedList
FsChange.Kind Returns what happened: created, deleted, modified, renamed, or overflow. Filesystem
FsChange.Path Returns the full path of the entry that changed. Filesystem
FsError.Code Returns the portable error code, such as FS_NOT_FOUND, to branch on. Filesystem
FsError.Message Returns a fixed one-line description of the error code. Filesystem
FsError.Operation Returns the name of the call that failed, for diagnostics only. Filesystem
FsError.OsCode Returns the operating system's own error number, or 0 if the library raised the error. Filesystem
FsError.Path Returns the path the failed call was working on, or an empty string. Filesystem
FsError.Path2 Returns the second path of a failed copy, move or link call. Filesystem
Function Defines a procedure returning a value. Procedures
Function (Member) Declares or defines a member procedure returning a value. User Defined Types
Function Pointer Data type that stores a pointer to a Function procedure returning a value. Standard Data Types
Functional Keyword List List of FreeBASIC keywords sorted by the function they perform. Language Documentation

G

Name What it does Category
GCD Returns the greatest common divisor of two whole numbers. Math Library
Generics Generics
Get Returns the raw pointer to the object, or 0 if null, without adding an owner. Smart Pointers
Get (File I/O) Reads a variable, string or array from a file as bytes, at a position or the current one. File I/O Functions
Get (Graphics) Copies a rectangle of the screen or an image into an image buffer. 2D Drawing Functions
GetDiskSpace Returns the total, free and available bytes of the volume a path is on. Filesystem
GetIterator For Each
GetIterator Returns an iterator over the elements, for stepping through them by hand. Array
GetIterator Returns an iterator over the entries, each a pair read through .key and .value. Map
GetIterator Returns an iterator over the values, in no particular order. Set
GetIterator Returns an iterator over the values that stays valid when others are added. LinkedList
GetJoystick Fills in a joystick's buttons and axis positions; returns 0 on success or 1. User Input Functions (Graphics Library)
GetKey Waits for a key and returns its code; the key is not shown on screen. User Input (Runtime Library)
GetMouse Fills in the mouse position, wheel and buttons, or -1 in each if there is no mouse. User Input Functions (Graphics Library)
GetPosixMode Returns a file's permission bits on Linux and macOS; fails as unsupported on Windows. Filesystem
GetRoundingMode Returns the direction floating-point results are currently rounded in. Math Library
GetVolumeInfo Returns the VolumeInfo of the volume a path is on: its root, label and file system. Filesystem
GetVolumes Fills an Array with a VolumeInfo for each drive or mounted disk; returns the count. Filesystem
GetWin32Attributes Returns a file's raw Windows attribute flags; fails as unsupported on Linux and macOS. Filesystem
GfxLib - FreeBASIC graphics library overview Graphics Library Reference
Glob Fills an Array with the paths that match a wildcard pattern; returns the count. Filesystem
GlobRoot Returns the folder a pattern search starts from: the part before the first wildcard. Filesystem
GoroutineCount Returns how many goroutines exist right now, as a snapshot for diagnostics. Goroutines and Channels
Goroutines and Channels Goroutines and Channels
Goroutines Tutorial Goroutines and Channels
GoSub Control flow statement to use a section of code and return. Control Flow Statements
Goto Control flow statement to jump to another part of the program. Control Flow Statements
Graphics Keyword List A list of the keywords and procedures of FreeBASIC's graphics library. Graphics Keyword List

H

Name What it does Category
HasValue Returns true if the Optional holds a value. Optional
Hex Returns a number as hexadecimal text. String Functions
HiByte Returns the second byte of a number, bits 8 to 15. Bit Manipulation
HiWord Returns bits 16 to 31 of a number. Bit Manipulation
Hour Returns the hour of a date serial, 0 to 23. Date and Time Functions
Hypot Returns the square root of xx + yy without overflowing for large values. Math Library

I

Name What it does Category
#if Preprocessor conditional directive. Preprocessor
#ifdef Preprocessor conditional directive. Preprocessor
#ifndef Preprocessor conditional directive. Preprocessor
#inclib Preprocessor directive. Preprocessor
#include Preprocessor statement to include contents of another source file. Preprocessor
If...Then Control flow statement for conditional branching. Control Flow Statements
IIf Conditional function that returns one of two values. Miscellaneous Keywords
ImageConvertRow Copies a row of pixels to another buffer, converting its colour depth. 2D Drawing Functions
ImageCreate Creates an image of a given size filled with one colour; returns 0 on failure. 2D Drawing Functions
ImageDestroy Frees an image made by ImageCreate. 2D Drawing Functions
ImageInfo Fills in an image's width, height, bytes per pixel, pitch and pixel pointer. 2D Drawing Functions
Implements Lists the interfaces a type or class takes on, and says which interface member each method provides. Interfaces
Import External linkage attribute for public data located in DLL's. Modularizing
Indexing Operators Operators that return references based on an index. Operators
IndexOf Returns the index of the first element equal to a value, or -1 if there is none. Array
Infinity Returns positive infinity as a Double. Math Library
InfinityF Returns positive infinity as a Single. Math Library
Info Logs a message at the info level, or returns a record to add fields to. Logging
Inherits Names a class's base class, or the interfaces an interface includes. Interfaces
Inkey Returns the next key waiting, or an empty string at once if there is none. User Input (Runtime Library)
Inp Returns a value at a hardware port. Miscellaneous Keywords
Input Reads values the user types, up to Enter, after an optional prompt. User Input (Runtime Library)
Input # Reads comma- or line-separated values from a text file into variables. File I/O Functions
Input (File Mode) Opens a text file for reading with Open; the file must already exist. File I/O Functions
Input() Waits for a number of characters from the keyboard or a file and returns them. User Input (Runtime Library)
Insert Inserts a value at a position, moving the later elements up one place. Array
InsertAt Inserts text at a position. String Library
Instant.Add Returns the date-time moved forward by a TimeSpan. Date and Time (Chrono)
Instant.CompareTo Returns -1, 0 or 1 to order two moments, or -2 if either is Invalid. Date and Time (Chrono)
Instant.FromTicks Creates a moment from 100 ns ticks since 0001-01-01, or Invalid if out of range. Date and Time (Chrono)
Instant.FromUnixMicroseconds Returns the moment a number of microseconds after 1970-01-01 UTC. Date and Time (Chrono)
Instant.FromUnixMilliseconds Returns the moment a number of milliseconds after 1970-01-01 UTC. Date and Time (Chrono)
Instant.FromUnixSeconds Returns the moment a number of seconds after 1970-01-01 UTC; negative is earlier. Date and Time (Chrono)
Instant.Instant Creates a moment on the UTC timeline from a tick count; Invalid with no argument. Date and Time (Chrono)
Instant.Invalid Returns the Invalid date-time, which never equals anything, itself included. Date and Time (Chrono)
Instant.IsValid Returns true if the date-time is a real, in-range value; the only safe test. Date and Time (Chrono)
Instant.MaxValue Returns the latest date-time, the last tick of 9999-12-31. Date and Time (Chrono)
Instant.MinValue Returns the earliest date-time, midnight on 0001-01-01. Date and Time (Chrono)
Instant.ParseIso Reads ISO 8601 text into a date-time, or Invalid if it is not ISO 8601. Date and Time (Chrono)
Instant.Subtract Returns the date-time moved back by a TimeSpan, or Invalid past the earliest date. Date and Time (Chrono)
Instant.Ticks Returns the 100 ns ticks since 0001-01-01, counted on the value's own clock. Date and Time (Chrono)
Instant.ToIsoString Returns the date-time as ISO 8601 text, with Z or the offset when it has one. Date and Time (Chrono)
Instant.ToString Returns ISO 8601 text, or the date-time laid out by a pattern such as "yyyy-MM-dd". Date and Time (Chrono)
Instant.TryParseIso Reads ISO 8601 text into a date-time; returns false and sets it Invalid on failure. Date and Time (Chrono)
Instant.UnixMicroseconds Returns the microseconds since 1970-01-01 UTC. Date and Time (Chrono)
Instant.UnixMilliseconds Returns the milliseconds since 1970-01-01 UTC. Date and Time (Chrono)
Instant.UnixSeconds Returns the whole seconds since 1970-01-01 UTC, dropping any fraction. Date and Time (Chrono)
InStr Returns the position of the first match, or 0 if there is none. String Functions
InstrChars Returns the position of the first character from a set, or 0. String Library
InStrRev Returns the position of the last match, or 0 if there is none. String Functions
Int Returns the largest whole number not above the value, so Int(-1.3) is -2. Mathematical Functions
Int16 Fixed-Width Types
Int32 Fixed-Width Types
Int64 Fixed-Width Types
Int8 Fixed-Width Types
Integer Standard data type: 32-bit or 64-bit signed, same size as SizeOf(Any Ptr) Standard Data Types
Interface Declares a contract: a list of methods and properties that a type promises to provide. Interfaces
IntersectWith Keeps only the values that are also in another set. Set
Intrinsic Defines Preprocessor symbols defined by the compiler. Intrinsic Defines
IPow Raises a whole number to a whole-number power exactly, with no trip through Double. Math Library
IPowChecked Raises an integer to a power, returning an empty Optional if the result overflows. Math Library
Is Clause in the Select Case statement block. Miscellaneous Keywords
IsBlank Returns true if the string is empty or holds only whitespace. String Library
IsCancelled Returns true once the context is cancelled or its deadline has passed. Goroutines and Channels
IsDate Returns true if the text can be read as a date in the system's date format. Date and Time Functions
IsDir Returns true if the path is a folder, following links; false if it cannot tell. Filesystem
IsEmpty Returns true if the array has no elements. Array
IsEmpty Returns true if the map has no entries. Map
IsEmpty Returns true if the set has no values. Set
IsEmpty Returns true if the list has no values. LinkedList
IsFile Returns true if the path is a file, following links; false if it cannot tell. Filesystem
IsFinite Returns true if the value is neither infinite nor NaN. Math Library
IsInfinite Returns true if the value is plus or minus infinity. Math Library
IsLink Returns true if the path itself is a symbolic link. Filesystem
IsNaN Returns true if the value is NaN, which an equality test cannot detect. Math Library
IsNegative Returns true if the sign bit is set, which includes negative zero. Math Library
IsNormal Returns true if the value is finite, not zero and not subnormal. Math Library
IsNull Returns true if the handle owns no object. Smart Pointers
IsNumeric Returns true if the string is a valid number, with spaces allowed around it. String Library
IsOk Returns true if the Result holds a value rather than a reason for failure. Result
IsPow2 Returns true if the value is a power of two; zero is not one. Math Library
ISqrt Returns the exact whole-number square root, rounded down. Math Library
IsRedirected Returns non-zero if standard output, or input if asked, is redirected to a file. Operating System Functions
IsSorted Returns true if the Array is already in ascending order. Array
IsSorted Returns true if the Array is already in ascending order. Sorting
IsSortedBy Returns true if the Array is already in order by your comparer. Sorting
IsSubnormal Returns true if the value is nonzero but below the smallest normal number. Math Library
IsValid For Each
IsValid Returns false if the Currency is Invalid; the only reliable test for a bad value. Finance
Items Returns a copy of all the values as an Array, in no particular order. Set
Iterating Operators Operators that work with iterator objects. Operators
Iterator Protocol Iterators

J

Name What it does Category
Join Joins an Array of strings into one, with a separator between them. String Library

K

Name What it does Category
Keys Returns a copy of all the keys as an Array, in no particular order. Map
Kill Deletes a file; returns 0 on success or an error code. Operating System Functions

L

Name What it does Category
#lang Preprocessor statement to set the compiler dialect. Preprocessor
#libpath Preprocessor statement to add a search path for libraries. Preprocessor
#line Preprocessor directive to set the current line number and file name. Preprocessor
Lambdas Lambdas
LBound Returns the lowest valid index of an array dimension, or 0 if there is none. Array Functions
LCase Returns a lower-case copy of the string. String Functions
LCM Returns the least common multiple of two whole numbers, or 0 if either is 0. Math Library
LeadingZeros Counts the zero bits above the highest set bit; zero gives the type's full width. Math Library
Left Returns the first n characters. String Functions
Len Returns the length of a string, or the size of a type. String Functions
Length Returns the length of a vector. Math Library
LengthSquared Returns the squared length of a vector, the cheap way to compare lengths. Math Library
Lerp Returns the point a fraction t of the way from a to b; t is not clamped. Math Library
Let Indicates the assignment operator. Miscellaneous Keywords
LevelFromName Reads a level from a name or number in any case; returns false if it is unknown. Logging
LevelName Returns a level's name, such as "WARN", or its number if it has no name. Logging
LevelNameShort Returns a level's three-letter name, such as "WRN". Logging
LevelToSyslog Returns the syslog severity number for a level. Logging
Lib Specifies the library where a sub or function can be found as part of a declaration. Procedures
Line (Graphics) Draws a line between two points, or a box or filled box with B or BF. 2D Drawing Functions
Line Input Reads a whole typed line into a string, commas included, after an optional prompt. User Input (Runtime Library)
Line Input # Reads one line of a text file into a string, without its line ending. File I/O Functions
LinkCount Returns how many hard links, or names, a file has. Filesystem
LinkedList LinkedList
LinkedList Holds a chain of values that is quick to add to and remove from at either end. LinkedList
LinkedListIterator Holds a position in a LinkedList; it survives changes elsewhere in the list. LinkedList
LinkedNode Holds one LinkedList value and the links to its neighbours; normal code never uses it. LinkedList
ListDir Fills an Array with one folder's entries at once; returns the count. Filesystem
Literals Non-variable compile-time string, numeric values and boolean values. Language Documentation
LLVM Backend LLVM Backend
LoByte Returns the lowest byte of a number, bits 0 to 7. Bit Manipulation
LOC Returns where the last read or write happened in an open file, counted in records. File I/O Functions
Local Marks an On Error handler as belonging to the procedure it is set in. Error Handling Functions
LocalDate.AddDays Returns the date moved by a number of days. Date and Time (Chrono)
LocalDate.AddMonths Returns the date moved by whole months, clamping the day to the month's end. Date and Time (Chrono)
LocalDate.AddYears Returns the date moved by whole years; 29 February becomes the 28th if needed. Date and Time (Chrono)
LocalDate.CompareTo Returns -1, 0 or 1 to order two dates, or -2 if either is Invalid. Date and Time (Chrono)
LocalDate.Day Returns the day of the month, starting at 1. Date and Time (Chrono)
LocalDate.DayNumber Returns the days since 0001-01-01; subtract two to count the days between dates. Date and Time (Chrono)
LocalDate.DayOfWeek Returns the day of the week, 1 for Monday to 7 for Sunday. Date and Time (Chrono)
LocalDate.DayOfYear Returns the day of the year, starting at 1. Date and Time (Chrono)
LocalDate.EndOfMonth Returns the last day of the date's month. Date and Time (Chrono)
LocalDate.FromDayNumber Creates a date from a count of days since 0001-01-01. Date and Time (Chrono)
LocalDate.Invalid Returns the Invalid date, which spreads to anything computed from it. Date and Time (Chrono)
LocalDate.IsFirstDayOfMonth Returns true if the date is the first day of its month. Date and Time (Chrono)
LocalDate.IsLastDayOfMonth Returns true if the date is the last day of its month. Date and Time (Chrono)
LocalDate.IsoWeek Returns the ISO week number, 1 to 53; pair it with IsoWeekYear. Date and Time (Chrono)
LocalDate.IsoWeekYear Returns the year the ISO week belongs to, which can differ from Year near New Year. Date and Time (Chrono)
LocalDate.IsValid Returns true if the date exists and is in range. Date and Time (Chrono)
LocalDate.LocalDate Creates a date with no time of day from a year, month and day, or Invalid if none. Date and Time (Chrono)
LocalDate.MaxValue Returns the latest date, 9999-12-31. Date and Time (Chrono)
LocalDate.MinValue Returns the earliest date, 0001-01-01. Date and Time (Chrono)
LocalDate.Month Returns the month, 1 to 12. Date and Time (Chrono)
LocalDate.ParseIso Reads ISO text such as 2026-08-13 into a date, or Invalid on failure. Date and Time (Chrono)
LocalDate.Quarter Returns the calendar quarter, 1 to 4. Date and Time (Chrono)
LocalDate.StartOfMonth Returns the first day of the date's month. Date and Time (Chrono)
LocalDate.ToIsoString Returns the date as text in the form 2026-08-13, or empty text if it is Invalid. Date and Time (Chrono)
LocalDate.ToString Returns the date as ISO 8601 text, the same as ToIsoString. Date and Time (Chrono)
LocalDate.TryParseIso Reads ISO text into a date; returns false and sets it Invalid on failure. Date and Time (Chrono)
LocalDate.Year Returns the year, 1 to 9999. Date and Time (Chrono)
LocalTime.CompareTo Returns -1, 0 or 1 to order two times of day, or -2 if either is Invalid. Date and Time (Chrono)
LocalTime.FromTicks Creates a time of day from 100 ns ticks since midnight, or Invalid past a whole day. Date and Time (Chrono)
LocalTime.Hour Returns the hour, 0 to 23. Date and Time (Chrono)
LocalTime.Invalid Returns the Invalid time of day, which never equals anything, itself included. Date and Time (Chrono)
LocalTime.IsValid Returns true if the time of day is in range. Date and Time (Chrono)
LocalTime.LocalTime Creates a time of day from hours, minutes, seconds and milliseconds; midnight if none. Date and Time (Chrono)
LocalTime.MaxValue Returns the last tick of the day, 23:59:59.9999999. Date and Time (Chrono)
LocalTime.Microsecond Returns the microseconds within the second, the milliseconds included. Date and Time (Chrono)
LocalTime.Midnight Returns the time of day 00:00:00. Date and Time (Chrono)
LocalTime.Millisecond Returns the milliseconds within the second, 0 to 999. Date and Time (Chrono)
LocalTime.Minute Returns the minute, 0 to 59. Date and Time (Chrono)
LocalTime.Noon Returns the time of day 12:00:00. Date and Time (Chrono)
LocalTime.ParseIso Reads ISO text such as 14:30:05 into a time of day, or Invalid on failure. Date and Time (Chrono)
LocalTime.Second Returns the second, 0 to 59. Date and Time (Chrono)
LocalTime.Ticks Returns the time of day as 100 ns ticks since midnight. Date and Time (Chrono)
LocalTime.ToIsoString Returns the time of day as ISO 8601 text, such as 14:30:05. Date and Time (Chrono)
LocalTime.ToString Returns the time of day as ISO 8601 text, the same as ToIsoString. Date and Time (Chrono)
LocalTime.TryParseIso Reads ISO text into a time of day; returns false and sets it Invalid on failure. Date and Time (Chrono)
Locate Moves the text cursor to a row and column, and can show or hide it. Console Functions
Lock Restricts other programs' access to a record or byte range of an open file. File I/O Functions
Lock Returns a SharedPtr to the object if it still exists, or a null one if not. Smart Pointers
LOF Returns the length in bytes of an open file. File I/O Functions
Log Returns the natural logarithm; zero gives minus infinity and a negative gives NaN. Mathematical Functions
Log Logs a message at a level you pass, or returns a record to add fields to. Logging
Log10 Returns the base-10 logarithm of a number. Math Library
Log1p Returns the natural logarithm of one plus a number, accurately near zero. Math Library
Log2 Returns the base-2 logarithm of a number. Math Library
LogB Returns the binary exponent of a number as a floating-point value. Math Library
LogEvent.AddBool Adds a named true or false field. Logging
LogEvent.AddError Adds a filesystem error as fields: its message, its code and any system error code. Logging
LogEvent.AddFloat Adds a named floating-point field. Logging
LogEvent.AddInt Adds a named integer field, which stays a number in JSON output. Logging
LogEvent.AddPtr Adds a named pointer field, such as the address of an object. Logging
LogEvent.AddSpan Adds a named field holding a length of time, such as how long a step took. Logging
LogEvent.AddText Adds a named text field to the record and returns the record for the next call. Logging
LogEvent.AddTime Adds a named field holding a point in time. Logging
LogEvent.AddUInt Adds a named unsigned 64-bit integer field. Logging
LogEvent.AddValue Adds a named field from a value you built yourself, of any supported kind. Logging
LogEvent.Msg Sets the message and sends the record; a record that is never sent logs nothing. Logging
LogEvent.Send Sends the record without a message, for a record that is only fields. Logging
LogEvent.Site Records the file, line and procedure the record came from. Logging
Logging Logging
Logical Operators Operators that perform bitwise logic. Operators
Long Standard data type: 32-bit signed integer. Standard Data Types
LongInt Standard data type: 64 bit signed. Standard Data Types
Loop Control flow statement for looping. Miscellaneous Keywords
LoWord Returns the lowest 16 bits of a number. Bit Manipulation
LPos Returns the number of characters sent to the printer port in the last LPrint statement. Miscellaneous Keywords
LPrint Writes text to the default printer. Miscellaneous Keywords
LSet Copies a string into another, left-justified and padded with spaces. String Functions
LStat Returns a path's FileInfo without following a symbolic link, so a link describes itself. Filesystem
LTrim Removes spaces, or the given characters, from the start. String Functions

M

Name What it does Category
#Macro...#Endmacro Preprocessor directive to define a multiline macro. Preprocessor
MakeShared Creates a default-constructed object and returns the first SharedPtr to it. Smart Pointers
MakeSharedFrom Creates a copy of a value on the heap and returns a SharedPtr to it. Smart Pointers
Map Map
Map Holds key and value pairs in a hash table, so you find a value by its key. Map
MapIterator Holds a position in a Map; each step gives a pair read through .key and .value. Map
MapPairIter Holds a position in Map.Pairs; each step gives the key and value as a tuple. Map
MapPairView Holds the view that Map.Pairs returns, for for each (k, v) to walk. Map
MatchPattern Returns true if a string matches a wildcard pattern, without touching the disk. Filesystem
Math Library Math Library
Mathematical Functions Procedures that work with numbers mathematically. Mathematical Functions
Max Returns the larger of two values; a NaN argument gives NaN. Math Library
MaxOf Returns the largest value in an array, or NaN if it is empty. Math Library
MaxValue Returns the largest value added so far. Math Library
MCase Returns a title-case copy: each word capitalised, the rest lower case. String Library
Mean Returns the average of an array, or NaN if it is empty. Math Library
Median Returns the middle value of an array, without reordering it. Math Library
Memory Functions Procedures that work with static and dynamic memory. Memory Functions
Memory Operators Operators that work with memory. Operators
MemoryMappedFile.Close Unmaps the file; harmless when nothing is mapped. Filesystem
MemoryMappedFile.Data Returns a pointer to the mapped bytes, valid until Close. Filesystem
MemoryMappedFile.Flush Writes changed mapped bytes to the disk now. Filesystem
MemoryMappedFile.IsOpen Returns true while a file is mapped. Filesystem
MemoryMappedFile.Open Maps a file into memory, read-only unless writable is true; an empty file fails. Filesystem
MemoryMappedFile.Size Returns the size of the mapped file in bytes. Filesystem
Merge Combines another accumulator's values into this one, exactly. Math Library
Mid (Function) Returns the characters from a position, optionally for a given length. String Functions
Mid (Statement) Overwrites part of a string in place with other text. String Functions
Min Returns the smaller of two values; a NaN argument gives NaN. Math Library
MinLevel Sets or returns the lowest level the logger emits; LOG_OFF silences it. Logging
MinOf Returns the smallest value in an array, or NaN if it is empty. Math Library
MinSubnormalDouble Returns the smallest Double above zero. Math Library
MinSubnormalSingle Returns the smallest Single above zero. Math Library
Minute Returns the minute of a date serial. Date and Time Functions
MinValue Returns the smallest value added so far. Math Library
Miscellaneous Keywords Miscellaneous Keywords
MKD Copies a Double's bytes into an 8-byte string. String Functions
MkDir Creates one folder, whose parent must already exist; returns 0 on success. Operating System Functions
MKI Copies an integer's bytes into a string. String Functions
MKL Copies a Long's bytes into a 4-byte string. String Functions
MKLongInt Copies a LongInt's bytes into an 8-byte string. String Functions
MKS Copies a Single's bytes into a 4-byte string. String Functions
MKShort Copies a Short's bytes into a 2-byte string. String Functions
Modf Splits a number into whole and fractional parts that both keep its sign. Math Library
Modularizing Keywords helpful when writing modular programs. Modularizing
MoneyCompose Assembles a number, symbol and sign in one of the standard layouts. String Library
MoneyFormat Holds an amount and prints it the way the user's locale writes money. String Library
MoneyLayoutFromICurrency Converts a Windows positive-currency code into layout flags. String Library
MoneyLayoutFromINegCurr Converts a Windows negative-currency code into layout flags. String Library
MoneyLocaleIsValid Returns false if the system rejected the money locale. String Library
MoneyLocaleName Returns the name of the locale that money is formatted for. String Library
MoneyRefreshLocale Rereads the locale's money settings after the user changes them. String Library
MoneySetLocale Switches money formatting to a named locale; returns false if it is unknown. String Library
Month Returns the month of a date serial, 1 to 12. Date and Time Functions
MonthName Returns the name of a month number in the system's language, or its abbreviation. Date and Time Functions
MoveFile Moves or renames a file, even across volumes; refuses an existing destination by default. Filesystem
MoveNext For Each
Mul Multiplies two vectors component by component. Math Library
MulChecked Multiplies two integers, returning an empty Optional if the result would overflow. Math Library
MulSaturating Multiplies two integers, clamping the result to the type's minimum or maximum. Math Library
MultiKey Returns -1 while the key with a given scancode is held down, or 0 if it is not. User Input Functions (Graphics Library)
MulWrapping Multiplies two integers and wraps around on overflow, on purpose. Math Library
MutexCreate Creates a mutex and returns its handle, or 0 on failure. Threading Support Functions
MutexDestroy Destroys a mutex once no thread is using it. Threading Support Functions
MutexLock Locks a mutex, waiting while another thread holds it. Threading Support Functions
MutexUnlock Unlocks a mutex so that a waiting thread can take it. Threading Support Functions

N

Name What it does Category
NaiveSum Adds up an array with a plain loop: faster than Sum, but small values can be lost. Math Library
Naked Write functions without prolog/epilog code. Procedures
Name Renames or moves a file or folder; returns 0 on success. Operating System Functions
Name Sets or returns the logger's component name, attached to every record it makes. Logging
Namespace Declares a namespace block. Modularizing
NaN Returns a Double that is NaN, not a number. Math Library
NaNF Returns a Single that is NaN, not a number. Math Library
NegChecked Negates an integer, returning an empty Optional for the most negative value. Math Library
NegInfinity Returns negative infinity as a Double. Math Library
NegInfinityF Returns negative infinity as a Single. Math Library
NegSaturating Negates an integer; the most negative value becomes the maximum instead. Math Library
NegWrapping Negates an integer within its type, so the most negative value stays as it is. Math Library
Next Control flow statement to mark the end of a For...Next loop. Miscellaneous Keywords
NextAfter Returns the next representable number after x in the direction of y. Math Library
NextBoolean Returns true or false with equal chance. Math Library
NextBooleanP Returns true with probability p, from 0 for never to 1 for always. Math Library
NextDouble Returns a random Double from 0 up to but not including 1, with 53 random bits. Math Library
NextDoubleRange Returns a random Double from lo up to but not including hi. Math Library
NextExponential Returns a random waiting time between events at rate lambda; its mean is 1/lambda. Math Library
NextInt Returns a random whole number from lo to hi, both included, without bias. Math Library
NextNormal Returns a random value from the normal distribution, mean 0 and standard deviation 1. Math Library
NextNormalP Returns a random value from a normal distribution with the given mean and deviation. Math Library
NextPoisson Returns a random count of events in one interval at rate lambda; its mean is lambda. Math Library
NextPow2 Returns the smallest power of two at or above the value; zero gives 1. Math Library
NextSingle Returns a random Single from 0 up to but not including 1. Math Library
NextULong Returns a random 32-bit unsigned value. Math Library
NextULongInt Returns a random 64-bit unsigned value, the generator's raw output. Math Library
None Returns an empty Optional of the type you write out. Optional
Normalize Returns a vector of length 1 in the same direction; a zero vector stays zero. Math Library
Now Returns the current local date and time as a date serial. Date and Time Functions
Nullptr Nullptr

O

Name What it does Category
Object Built-in type providing run-time type information. Standard Data Types
Oct Returns a number as octal text. String Functions
OffsetOf Returns the offset of a field within a type. Miscellaneous Keywords
Ok Returns a successful Result holding the value; both types must be written out. Result
On Error Sets a label to jump to when a runtime error happens; On Error Goto 0 turns it off. Error Handling Functions
On...Gosub Calls a label based on an expression. Control Flow Statements
On...Goto Jumps to a label based on an expression. Control Flow Statements
Open Opens a file on a file number for reading or writing text, bytes or records. File I/O Functions
Open Com Opens a serial port on a file number, with its speed, parity and other settings. File I/O Functions
Open Cons Opens standard input or output on a file number, to use like a file. File I/O Functions
Open Err Opens standard input and standard error on a file number, to use like a file. File I/O Functions
Open Lpt Opens a printer on a file number, so Print # and Put # send data to it. File I/O Functions
Open Pipe Runs a shell command and opens its input or output on a file number. File I/O Functions
Open Scrn Opens the screen on a file number, for reading and writing like a file. File I/O Functions
Operating System Functions Statements and procedures for working with files, directories and the system. Operating System Functions
Operator Declares or defines an overloaded operator. User Defined Types
Operator ! (Escaped String Literal) Explicitly indicates that a string literal should be processed for escape sequences. Operators
Operator # (Preprocessor Stringize) Preprocessor operator to convert macro arguments to strings. Operators
Operator ## (Preprocessor Concatenate) Preprocessor operator to concatenate strings. Operators
Operator $ (Non-Escaped String Literal) Explicitly indicates that a string literal should not be processed for escape sequences. Operators
Operator & (String Concatenation With Conversion) Concatenates two strings, converting non-strings to strings as needed. Operators
Operator &= (Concatenate And Assign) Appends and assigns a string onto another string. Operators
Operator () (Array Index) Returns a reference to an element in an array. Operators
Operator * (Multiply) Multiplies two numeric expressions. Operators
Operator * (Value Of) Dereferences a pointer. Operators
Operator *= (Multiply And Assign) Multiplies and assigns a value to a variable. Operators
Operator + (Addition) Sums two expressions. Operators
Operator + (String Concatenation) Concatenates two strings. Operators
Operator += (Add And Assign) Adds and assigns a value to a variable. Operators
Operator - (Negate) Changes the sign of a numeric expression. Operators
Operator - (Subtract) Subtracts two expressions. Operators
Operator -= (Subtract And Assign) Subtracts and assigns a value to a variable. Operators
Operator -> (Pointer To Member Access) Returns a reference to a member from a pointer to an object. Operators
Operator . (Member Access) Returns a reference to a member from a reference to an object. Operators
Operator / (Divide) Divides two numeric expressions. Operators
Operator /= (Divide And Assign) Divides and assigns a value to a variable. Operators
Operator < (Less Than) Compares an expression less than another expression. Operators
Operator <= (Less Than Or Equal) Compares an expression less than or equal to another expression. Operators
Operator <> (Not Equal) Compares two expressions for inequality. Operators
Operator = (Equal) Compares two expressions for equality. Operators
Operator =[>] (Assign) Assigns a value to a variable. Operators
Operator > (Greater Than) Compares an expression greater than another expression. Operators
Operator >= (Greater Than Or Equal) Compares an expression greater than or equal to another expression. Operators
Operator @ (Address Of) Returns the address of a string literal, variable, object or procedure. Operators
Operator [] (Pointer Index) Returns a reference to memory offset from an address. Operators
Operator [] (String Index) Returns a reference to the numeric value of a character in a string. Operators
Operator \ (Integer Divide) Divides two Integer expressions. Operators
Operator = (Integer Divide And Assign) Integer divides and assigns a value to a variable. Operators
Operator ^ (Exponentiate) Raises a numeric expression to some power. Operators
Operator ^= (Exponentiate And Assign) Exponentiates and assigns a value to a variable. Operators
Operator And (Conjunction) Returns the bitwise-and (conjunction) of two numeric values. Operators
Operator And= (Conjunction And Assign) Performs a bitwise-and (conjunction) and assigns the result to a variable. Operators
Operator Andalso (Short Circuit Conjunction) Returns the short circuit-and (conjunction) of two numeric values. Operators
Operator Cast Operator to convert a UDT (User Defined Type) variable into a specified data type. Operators
Operator Delete Overload Member operator to overload memory deallocation process part provided by Operator Delete Statement when applying to a UDT (User Defined Type). Operators
Operator Delete Statement Operator to destroy data and free memory allocated with the Operator New Expression. Operators
Operator Eqv (Equivalence) Returns the bitwise-and (equivalence) of two numeric values. Operators
Operator Eqv= (Equivalence And Assign) Performs a bitwise-eqv (equivalence) and assigns the result to a variable. Operators
Operator For (Iteration) Declares or defines operators used by a For...Next loop with user defined type variables. Operators
Operator Imp (Implication) Returns the bitwise-and (implication) of two numeric values. Operators
Operator Imp= (Implication And Assign) Performs a bitwise-imp (implication) and assigns the result to a variable. Operators
Operator Is (Run-Time Type Information) Check if an object is compatible to a type derived from its compile-time type (in the context of inheritance) Operators
Operator Let (Assign) Indicates the assignment operator when overloading Operator = (Assignment) Operators
Operator Let() (Assignment) Assigns fields of a user defined type to a list of variables. Operators
Operator List List of operators used in FreeBASIC. Operators
Operator Mod (Modulus) Finds the remainder from a division operation. Operators
Operator Mod= (Modulus And Assign) Divides a value and assigns the remainder to a variable. Operators
Operator New Expression Operator to dynamically allocate memory and construct data of a specified type. Operators
Operator New Overload Member operator to overload dynamic memory allocation process part provided by Operator New Expression when applying to a UDT (User Defined Type). Operators
Operator Next (Iteration) Determines if a For...Next loop should be terminated. Operators
Operator Not (Complement) Returns the bitwise-not (complement) of a numeric value. Operators
Operator Or (Inclusive Disjunction) Returns the bitwise-or (inclusive disjunction) of two numeric values. Operators
Operator Or= (Inclusive Disjunction And Assign) Performs a bitwise-or (inclusive disjunction) and assigns the result to a variable. Operators
Operator Orelse (Short Circuit Inclusive Disjunction) Returns the short circuit-or (Inclusive Disjunction) of two numeric values. Operators
Operator Placement New Operator to construct an object at a specified memory address. Operators
Operator Precedence Language Documentation
Operator Procptr (Procedure Pointer And Vtable Index) Returns the address of any procedure, and the index in the vtable for a virtual/abstract member procedure. Operators
Operator Shl (Shift Left) Shifts the bits of a numeric expression to the left. Operators
Operator Shl= (Shift Left And Assign) Shifts left and assigns a value to a variable. Operators
Operator Shr (Shift Right) Shifts the bits of a numeric expression to the right. Operators
Operator Shr= (Shift Right And Assign) Shifts right and assigns a value to a variable. Operators
Operator Step (Iteration) Increments the iterator of a For...Next loop. Operators
Operator Strptr (String Pointer) Returns the address of a string's character data. Operators
Operator Varptr (Variable Pointer) Returns the address of a variable or object. Operators
Operator Xor (Exclusive Disjunction) Returns the bitwise-xor (exclusive disjunction) of two numeric values. Operators
Operator Xor= (Exclusive Disjunction And Assign) Performs a bitwise-xor (exclusive disjunction) and assigns the result to a variable. Operators
Operators Procedures that operate on one or more operands. Operators
Option Dynamic Specifies variable-length array declarations. Array Functions
Option Static Reverts to default array declaration behavior. Array Functions
Option() Specifies additional attributes and/or characteristics of symbols. Miscellaneous Keywords
Optional Optional
Optional Holds one value or nothing at all; a new one is empty. Result
Or (Graphics Put) Combines source and destination pixels with a bitwise Or, as a Put method. 2D Drawing Functions
OrderedMap Holds key and value pairs kept sorted by key. OrderedMap
OrderedMap and OrderedSet OrderedMap
OrderedMap.Add Adds a key and value if the key is new; an existing value is left alone. OrderedMap
OrderedMap.BlackHeight Returns the tree's black height, or -1 if its balancing rules are broken. OrderedMap
OrderedMap.Clear Removes every entry. OrderedMap
OrderedMap.Contains Returns true if the key is present, without adding it. OrderedMap
OrderedMap.Count Returns the number of entries; reading an absent key with m[ k ] adds one. OrderedMap
OrderedMap.GetIterator Returns an iterator over the entries in ascending key order. OrderedMap
OrderedMap.IsEmpty Returns true if the map has no entries. OrderedMap
OrderedMap.Keys Returns a copy of all the keys as an Array, already sorted. OrderedMap
OrderedMap.Pairs Returns a view that lets for each (k, v) walk keys and values in key order. OrderedMap
OrderedMap.Put Stores a value under a key, replacing any old one; returns true if the key was new. OrderedMap
OrderedMap.Remove Removes a key and its value; returns true if the key was there. OrderedMap
OrderedMap.TryCeiling Finds the smallest key at or above a given one; returns false if there is none. OrderedMap
OrderedMap.TryFirst Copies the smallest key and its value into variables; returns false if the map is empty. OrderedMap
OrderedMap.TryFloor Finds the largest key at or below a given one; returns false if there is none. OrderedMap
OrderedMap.TryGet Copies the value for a key into a variable; returns false, adding nothing, if absent. OrderedMap
OrderedMap.TryLast Copies the largest key and its value into variables; returns false if the map is empty. OrderedMap
OrderedMap.Values Returns a copy of all the values as an Array, in the order of their keys. OrderedMap
OrderedMapIterator Holds a position in an OrderedMap, stepping in ascending key order. OrderedMap
OrderedMapPairIter Holds a position in OrderedMap.Pairs, giving key and value as a tuple in key order. OrderedMap
OrderedMapPairView Holds the view that OrderedMap.Pairs returns, for for each (k, v) to walk. OrderedMap
OrderedSet Holds each value at most once, kept in sorted order. OrderedSet
OrderedSet.Add Adds a value; returns false if it was already there. OrderedSet
OrderedSet.BlackHeight Returns the tree's black height, or -1 if its balancing rules are broken. OrderedSet
OrderedSet.Clear Removes every value. OrderedSet
OrderedSet.Contains Returns true if the value is in the set. OrderedSet
OrderedSet.Count Returns the number of values in the set. OrderedSet
OrderedSet.ExceptWith Removes every value that is also in another set. OrderedSet
OrderedSet.GetIterator Returns an iterator over the values in ascending order. OrderedSet
OrderedSet.IntersectWith Keeps only the values that are also in another set. OrderedSet
OrderedSet.IsEmpty Returns true if the set has no values. OrderedSet
OrderedSet.Items Returns a copy of all the values as an Array, already sorted. OrderedSet
OrderedSet.Remove Removes a value; returns true if it was there. OrderedSet
OrderedSet.TryCeiling Finds the smallest value at or above a given one; returns false if there is none. OrderedSet
OrderedSet.TryFirst Copies the smallest value into a variable; returns false if the set is empty. OrderedSet
OrderedSet.TryFloor Finds the largest value at or below a given one; returns false if there is none. OrderedSet
OrderedSet.TryLast Copies the largest value into a variable; returns false if the set is empty. OrderedSet
OrderedSet.UnionWith Adds every value of another set to this one; the other set is unchanged. OrderedSet
OrderedSetIterator Holds a position in an OrderedSet, stepping in ascending order. OrderedSet
Out Outputs a value to a hardware port. Miscellaneous Keywords
Output Opens a text file for writing with Open, creating it or emptying it first. File I/O Functions
Overload Specifies that a procedure name can be overloaded. Procedures
Override Method attribute; specifies that a method must override a virtual. User Defined Types

P

Name What it does Category
#pragma Preprocessor directive. Preprocessor
#Pragma Reserve Preprocessor directive. Preprocessor
#print Preprocessor diagnostic directive. Preprocessor
[(Print ?) #](procedures-Print) Writes values as text to an open file; a trailing comma or semicolon skips the line break.
[(Print ?) Using](Print-Using) Writes values formatted by a template such as "##.##" or "&".
PadCenter Centres the string in a width, padding both sides. String Library
PadLeft Pads on the left to a width, with spaces or a given character. String Library
PadRight Pads on the right to a width, with spaces or a given character. String Library
Paint Fills the area enclosed by a border colour with a colour or a pattern. 2D Drawing Functions
Pairs Returns a view that lets for each (k, v) give each key and value as two variables. Map
Palette Sets or reads the colours of a palette mode, or restores the default palette. 2D Drawing Functions
Parity Returns 1 if an odd number of bits are set, or 0 if an even number are. Math Library
Partial Writes one type or class in several blocks of one compilation unit. Partial Types
pascal Specifies a Pascal-style calling convention in a procedure declaration. Procedures
PathChangeExtension Replaces a path's extension, or removes it when the new one is empty. Filesystem
PathEquals Returns true if two paths match once normalised; case-insensitive on Windows. Filesystem
PathExtension Returns the extension with its dot, such as .tiko, or an empty string if there is none. Filesystem
PathFileName Returns the last part of a path, the file name, or an empty string for a root. Filesystem
PathHasExtension Returns true if the file name has an extension; a dotfile has none. Filesystem
PathIsAbsolute Returns true if a path needs no current folder; C:dev and \dev are not absolute. Filesystem
PathIsCaseSensitive Returns true if paths compare case-sensitively here: on Linux and macOS, not Windows. Filesystem
PathIsRoot Returns true if the whole path is just a root, such as C:\ or /. Filesystem
PathJoin Joins two to four path parts with one separator; an absolute part drops those before it. Filesystem
PathNextComponent Finds the next part of a path from an offset; returns a negative number when none is left. Filesystem
PathNormalize Returns a tidied path: . removed, .. resolved as text, duplicate separators collapsed. Filesystem
PathParent Returns the path without its last part, or an empty string for a root. Filesystem
PathRelativeTo Returns a path relative to a base folder; fails if the two have different roots. Filesystem
PathRoot Returns the root of a path, such as C:\ or /, or an empty string for a relative path. Filesystem
PathRootLen Returns the length of a path's root, in characters. Filesystem
PathSeparator Returns the platform's path separator: a backslash on Windows, a slash on Linux and macOS. Filesystem
PathSplit Splits a normalised path into its parts, without the root, in an Array; returns the count. Filesystem
PathStartsWith Returns true if a path begins with another, comparing whole parts, not characters. Filesystem
PathStem Returns the file name without its extension; a dotfile such as .gitignore keeps its name. Filesystem
PathToNative Returns the path with the platform's separators, duplicates collapsed, nothing resolved. Filesystem
PatternIsRecursive Returns true if a pattern has a double-star part that searches every subfolder. Filesystem
PatternWildcardAt Returns the offset of a pattern's first wildcard, or -1 if it has none. Filesystem
PCopy Copies one graphics or text page onto another. Screen Functions
Peek Returns a reference to the value at an address, as a byte or as a given type. Memory Functions
Percentile Returns the value below which p percent of an array falls, with p from 0 to 100. Math Library
PMap Converts a coordinate between the Window system and physical pixels. Screen Functions
Point Returns the colour of a pixel, or -1 if it is off the screen or image. 2D Drawing Functions
PointCoord Returns the x or y position of the Draw pen. Screen Functions
Pointer Operators Operators that work with pointers. Operators
[Pointer Ptr](Pointer-Ptr) A variable declaration type modifier.
Poke Writes a value to an address, as a byte or as a given type. Memory Functions
Pop Removes and returns the last element, or a default value if the array is empty. Array
PopBack Removes and returns the back value, or a default value if the list is empty. LinkedList
PopCount Counts the bits that are set. Math Library
PopFront Removes and returns the front value, or a default value if the list is empty. LinkedList
Pos Returns the column the cursor is in, counting from 1 at the left. Console Functions
Pow Returns one floating-point number raised to the power of another. Math Library
Preprocessor Commands that control the preprocessor. Preprocessor
Preprocessor Operators Operators that are executed by the preprocessor. Operators
Preserve Keeps the existing elements when ReDim resizes an array. Array Functions
PReset Plots one pixel, in the given colour or the current background colour. 2D Drawing Functions
[Print ?](Print) Writes values to the console, then a new line unless it ends with a comma or semicolon.
Private Specifies a procedure having internal linkage. Modularizing
Private: (Access Control) Specifies private member access control in a Type or Class. User Defined Types
Procedures Keywords that work with procedures. Procedures
Programmer's Guide FreeBASIC programmer's guide. Programmer's Guide
Property Declares or defines a property in a type or class. User Defined Types
Protected: (Access Control) Specifies protected member access control in a Type or Class. User Defined Types
Pset (Graphics Put) Copies source pixels over the destination unchanged, as a Put method. 2D Drawing Functions
Pset (Statement) Plots one pixel, in the given colour or the current foreground colour. 2D Drawing Functions
Public Specifies a procedure having external linkage. Modularizing
Public: (Access Control) Specifies public member access control in a Type or Class. User Defined Types
Push Adds a value at the end, growing the array as needed. Array
PushBack Adds a value at the back of the list. LinkedList
PushFront Adds a value at the front of the list. LinkedList
Put Stores a value under a key, replacing any old one; returns true if the key was new. Map
Put (File I/O) Writes a variable, string or array to a file as bytes, at a position or the current one. File I/O Functions
Put (Graphics) Draws an image onto the screen or another image, with a choice of blending method. 2D Drawing Functions

R

Name What it does Category
RadToDeg Converts an angle from radians to degrees. Math Library
RaiseFpException Raises a floating-point exception flag by hand; returns true on success. Math Library
Random Opens a file with Open for reading and writing fixed-size records, 128 bytes by default. File I/O Functions
Randomize Seeds the random number generator that Rnd uses, and can choose its algorithm. Mathematical Functions
Range Returns the largest value in an array minus the smallest. Math Library
Raw Returns the stored integer, the amount times 10000, for saving to a file or database. Finance
Read Reads values stored with the Data statement. Miscellaneous Keywords
Read (File Access) Opens a Binary or Random file for reading only, in an Access clause. File I/O Functions
Read Write (File Access) Opens a Binary or Random file for both reading and writing, the default. File I/O Functions
ReadAllBytes Reads a whole file into an Array of bytes; returns the number read. Filesystem
ReadAllLines Reads a file's lines into an Array, without their line endings; returns the count. Filesystem
ReadAllText Reads a whole file as UTF-8 text into a string, or fails if it cannot be read. Filesystem
ReadDir Lists the entries of one folder for a for each loop; each entry may be a failure to check. Filesystem
ReadLink Returns the target a symbolic link points to, as stored; fails if it is not a link. Filesystem
Reallocate Resizes a block, keeping its contents, and returns the new pointer, or 0 on failure. Memory Functions
ReDim Creates or resizes a variable-length array; elements are reset unless Preserve is used. Array Functions
Ref Returns a reference to the object; raises an error if the handle is null. Smart Pointers
Reflect Reflects a vector off a surface, given the surface's normalised normal. Math Library
Relational Operators Operators that compare relationships. Operators
Rem Indicates comments in the source code. Miscellaneous Keywords
Remain Returns the text after a match, or an empty string if there is none. String Library
RemainChars Returns the text after the first character from a set. String Library
Remove Removes every occurrence of the text. String Library
Remove Removes the element at a position, keeping the rest in order. Array
Remove Removes a key and its value; returns true if the key was there. Map
Remove Removes a value; returns true if it was there. Set
RemoveBetween Removes a pair of delimiters and the text between them. String Library
RemoveChars Removes every character that belongs to a set. String Library
RemoveDir Deletes an empty folder; fails if it still holds anything. Filesystem
RemoveDirAll Deletes a folder and all it holds without following links; returns how many it removed. Filesystem
RemoveFile Deletes a file; fails if it is not there. Filesystem
RemoveSink Detaches one sink; removing one that was never added does nothing. Logging
RemoveSwap Removes the element at a position quickly by moving the last element into its place. Array
Repeat Returns a string repeated n times. String Library
Replace Replaces every occurrence of the text with other text. String Library
ReplaceChars Replaces each character from a set with one given character. String Library
ReplaceFile Replaces one file with another in a single step, so the target is never missing. Filesystem
Reserve Makes room for at least n elements without adding any; it never shrinks. Array
Reserve Makes room for n entries, so filling the map does not have to regrow it. Map
Reserve Makes room for n values, so filling the set does not have to regrow it. Set
Reset Closes every open file, or resets a redirected standard input or output stream. File I/O Functions
Reset Drops this handle's share and leaves it null; the last one out destroys the object. Smart Pointers
Reset Empties the accumulator so that it can be reused. Math Library
Restore Changes the next read location for values stored with the Data statement. Miscellaneous Keywords
Result Result
Result Holds either a value or the reason it could not be made; a new one counts as failed. Result
RetainChars Keeps only the characters that belong to a set. String Library
Return (From Gosub) Control flow statement to return from a procedure or GoSub. Control Flow Statements
Return (From Procedure) Control flow statement to return from a procedure or GoSub. Control Flow Statements
Reverse Returns the string with its characters in reverse order. String Library
RGB Returns an opaque colour value from red, green and blue parts of 0 to 255. 2D Drawing Functions
RGBA Returns a colour value from red, green, blue and alpha parts of 0 to 255. 2D Drawing Functions
Right Returns the last n characters. String Functions
RmDir Removes an empty folder; returns 0 on success or -1 on failure. Operating System Functions
Rnd Returns a random Double from 0 up to but not including 1. Mathematical Functions
RngFromEntropy Creates a random generator seeded by the operating system, different on every run. Math Library
RngSeeded Creates a random generator from a seed, so the same seed repeats the same sequence. Math Library
Rotate Rotates a vector by a normalised quaternion. Math Library
Round Rounds to the nearest whole number or number of decimals, halves away from zero. Math Library
RoundHalfEven Rounds to the nearest whole number or number of decimals, halves to the even side. Math Library
RoundMode Returns the amount rounded to 0 to 4 places by a rounding rule you name. Finance
RSet Copies a string into another, right-justified and padded with spaces. String Functions
RTrim Removes spaces, or the given characters, from the end. String Functions
Run Hands control to another program and ends this one; returns -1 if it cannot start. Operating System Functions

S

Name What it does Category
$Static Metacommand to change the way arrays are allocated. Array Functions
SAdd Returns a pointer to the characters of a string. Memory Functions
ScaleB Multiplies a number by a power of two exactly, by adjusting its exponent. Math Library
Scope...End Scope Statement to begin a new scope block. Variable Declarations
Screen (Console) Returns the character, or its colour, at a row and column of the console. Console Functions
Screen (Graphics) Opens a graphics mode by mode number, or picks the work and visible pages. Screen Functions
Screen Functions Statements and procedures that work with the graphics display. Screen Functions
ScreenControl Sets or reads graphics library settings, such as the driver or the window position. Screen Functions
ScreenCopy Copies one graphics page onto another, by default the work page onto the shown one. Screen Functions
ScreenEvent Returns -1 if a mouse, keyboard or window event is waiting, and fetches it. Screen Functions
ScreenGLProc Returns the address of an OpenGL procedure by name, or 0 if it is not found. Screen Functions
ScreenInfo Fills in the screen's width, height, depth and driver, or the desktop's if none is open. Screen Functions
ScreenList Returns the fullscreen resolutions for a colour depth, one per call, then 0. Screen Functions
ScreenLock Stops screen updates while you draw, so the user never sees half a frame. Screen Functions
ScreenPtr Returns a pointer to the work page's pixels, or 0 if no graphics mode is set. Screen Functions
ScreenRes Opens a graphics window of a given width, height and colour depth. Screen Functions
ScreenSet Sets which page is drawn on and which page is shown. Screen Functions
ScreenSync Waits for the display to finish drawing a frame, to reduce flicker. Screen Functions
ScreenUnlock Resumes screen updates after ScreenLock and shows what was drawn. Screen Functions
Second Returns the second of a date serial. Date and Time Functions
Seek (Function) Returns the 1-based position of the next read or write: bytes, or records for Random. File I/O Functions
Seek (Statement) Sets the 1-based position of the next read or write: bytes, or records for Random. File I/O Functions
Select Case Conditional statement block. Control Flow Statements
Set Set
Set Holds each value at most once, in no particular order. Set
SetCurrentDir Changes the program's current folder, for every thread at once. Filesystem
SetDate Sets the system date from text like mm-dd-yyyy; needs admin rights, 0 means success. Date and Time Functions
SetEnviron Sets an environment variable from "NAME=value" text; returns 0 on success. Operating System Functions
SetHidden Sets or clears a file's hidden flag on Windows; fails as unsupported on Linux and macOS. Filesystem
SetIterator Holds a position in a Set; changing a value through it loses that value. Set
SetMouse Moves the mouse pointer, shows or hides it, or keeps it inside the window. User Input Functions (Graphics Library)
SetPosixMode Sets a file's permission bits on Linux and macOS; fails as unsupported on Windows. Filesystem
SetReadOnly Sets or clears a file's read-only flag, or its write bits on Linux and macOS. Filesystem
SetRoundingMode Sets the direction floating-point results are rounded in; returns true on success. Math Library
SetTime Sets the system time from text like hh:mm:ss; needs admin rights, 0 means success. Date and Time Functions
SetTimes Sets a file's modified and accessed times; a time of 0 leaves that one alone. Filesystem
SetWin32Attributes Replaces a file's whole Windows attribute word; fails as unsupported on Linux and macOS. Filesystem
Sgn Returns -1, 0 or 1 for the sign of a number, in the number's own type. Mathematical Functions
Shared Variable declaration modifier specifying visibility throughout a module. Variable Declarations
Shared Libraries - DOS A shared library is compiled code that can be loaded and used later when running an executable. Programmer's Guide
SharedPtr Holds an object shared by several owners and destroys it when the last one lets go. Smart Pointers
SharedPtr and WeakPtr Smart Pointers
Shell Runs a command through the system shell, waits, and returns its exit code or -1. Operating System Functions
Short Standard data type: 16 bit signed. Standard Data Types
Short Circuit Operators Operators that perform a short circuit logical evaluation. Operators
Shrink Trims both ends and collapses each inner run of spaces to one. String Library
Shrink Releases unused room, cutting the capacity down to the count. Array
Shuffle Shuffles an array in place so that every order is equally likely. Math Library
Sign Returns -1, 0 or 1 for the sign of a number, always as a Long. Math Library
Sin Returns the sine of an angle in radians. Mathematical Functions
Single Standard data type: 32 bit floating point. Standard Data Types
Sinh Returns the hyperbolic sine of a number. Math Library
Sink.Close Closes a sink and releases what it holds; every kind of sink closes the same way. Logging
Sink.DroppedCount Returns how many records a sink could not write; the count never resets. Logging
Sink.Flush Flushes one sink on its own. Logging
Sink.Write Writes one record to a sink; the method a sink of your own overrides. Logging
SinkCount Returns how many sinks are attached to the logger. Logging
SizeOf Returns the size of a variable or type in bytes. Miscellaneous Keywords
Sleep Waits until a specified time has elapsed, or a key is pressed. Miscellaneous Keywords
Slerp Blends between two rotations at constant speed, taking the shorter way round. Math Library
Some Returns an Optional holding the value, its type taken from the argument. Optional
Sort Sorts an Array in ascending order in place; equal elements may change places. Array
Sort Sorts an Array in ascending order in place; equal elements may change places. Sorting
SortBy Sorts an Array in place by your comparer; equal elements may change places. Array
SortBy Sorts an Array in place by your comparer; equal elements may change places. Sorting
Sorting Sorting
SortList Sorts a LinkedList in ascending order by relinking nodes; equal elements keep order. LinkedList
SortList Sorts a LinkedList in ascending order by relinking nodes; equal elements keep order. Sorting
SortListBy Sorts a LinkedList by your comparer, relinking nodes; equal elements keep order. LinkedList
SortListBy Sorts a LinkedList by your comparer, relinking nodes; equal elements keep order. Sorting
Space Returns a string of n spaces. String Functions
SpanOf Counts the run of characters from a set that starts at a position. String Library
spawn Runs a procedure alongside the program, copying its arguments at that moment. Goroutines and Channels
Spc Skips a number of columns inside a Print, leaving those cells unchanged. Console Functions
SpCast Returns a SharedPtr to a base type that shares ownership with the derived one. Smart Pointers
Split Breaks a string into an Array at each delimiter. String Library
SplitChars Breaks a string into an Array wherever a character from a set appears. String Library
SplitCsv Parses CSV text into rows and fields, quoted fields included. String Library
SplitCsvRow Parses one CSV record into an Array of fields. String Library
SplitSlices Walks the parts of a slice between separators, one at a time, in a for each loop. String Slices
Sqr Returns the square root of a number. Mathematical Functions
StableSort Sorts an Array in ascending order, keeping equal elements in their original order. Array
StableSort Sorts an Array in ascending order, keeping equal elements in their original order. Sorting
StableSortBy Sorts an Array by your comparer, keeping equal elements in their original order. Array
StableSortBy Sorts an Array by your comparer, keeping equal elements in their original order. Sorting
Standard Data Type Limits Standard variable types and limits. Language Documentation
Standard Data Types Built-in data types. Standard Data Types
StartsWith Returns true if the string begins with the given text. String Library
Stat Returns a path's FileInfo, following symbolic links; fails if the path is missing. Filesystem
Static Defines variables, objects and arrays having static storage. Variable Declarations
Static (Member) Declare a static member procedure or variable. User Defined Types
stdcall Specifies a stdcall-style calling convention in a procedure declaration. Procedures
StdDev Returns the sample standard deviation of an array, dividing by n-1. Math Library
StdDevPopulation Returns the population standard deviation of an array, dividing by n. Math Library
Step Statement modifier. Miscellaneous Keywords
Stick Reads axis position from attached gaming devices. User Input Functions (Graphics Library)
Stop Halts program execution, and waits for a key press before ending the program. Miscellaneous Keywords
Stopwatch.Elapsed Returns the time measured so far as a TimeSpan. Date and Time (Chrono)
Stopwatch.ElapsedMilliseconds Returns the time measured so far in whole milliseconds. Date and Time (Chrono)
Stopwatch.ElapsedTicks Returns the time measured so far in 100 ns ticks. Date and Time (Chrono)
Stopwatch.Frequency Returns how many counts per second the raw counter from GetTimestamp makes. Date and Time (Chrono)
Stopwatch.GetTimestamp Returns the raw monotonic counter; divide a difference by Frequency to get seconds. Date and Time (Chrono)
Stopwatch.IsHighResolution Returns true if the platform counter is finer than the system tick. Date and Time (Chrono)
Stopwatch.IsRunning Returns true while the stopwatch is running. Date and Time (Chrono)
Stopwatch.Reset Stops the stopwatch and sets its elapsed time back to zero. Date and Time (Chrono)
Stopwatch.Restart Sets the elapsed time back to zero and keeps the stopwatch running. Date and Time (Chrono)
Stopwatch.Start Starts the stopwatch, or resumes it and keeps the time already measured. Date and Time (Chrono)
Stopwatch.StartNew Creates a stopwatch that is already running. Date and Time (Chrono)
Stopwatch.Stop_ Stops the stopwatch, freezing the elapsed time until it starts again. Date and Time (Chrono)
Stopwatch.Stopwatch Creates a stopped stopwatch on the monotonic clock, which never jumps. Date and Time (Chrono)
Str Returns a number or boolean as text. Converting Data Types
Strig Reads button state from attached gaming devices. User Input Functions (Graphics Library)
String Standard data type: 8 bit character string. Operators
String (Function) Returns a string of n copies of one character. String Functions
String Functions Statements and Procedures that work with strings. String Functions
String Library String Library
String Operators Operators that work with strings. Operators
Sub Defines a procedure. Procedures
Sub (Member) Declares or defines a member procedure. User Defined Types
Sub Pointer Data type that stores a pointer to a Sub procedure. Standard Data Types
SubChecked Subtracts two integers, returning an empty Optional if the result would overflow. Math Library
SubSaturating Subtracts two integers, clamping the result to the type's minimum or maximum. Math Library
SubWrapping Subtracts two integers and wraps around on overflow, on purpose. Math Library
Sum Adds up an array with compensated summation, so small values are not lost. Math Library
Swap Exchanges the values of two variables. Memory Functions
System Closes all open files and ends the program, with an optional exit code. Operating System Functions

T

Name What it does Category
Tab Moves to a column inside a Print, on the next line if already past it. Console Functions
Tally Counts how many times the text occurs, without overlaps. String Library
TallyChars Counts the characters that belong to a set. String Library
Tan Returns the tangent of an angle in radians. Mathematical Functions
Tanh Returns the hyperbolic tangent of a number, which lies between -1 and 1. Math Library
TempDir Returns the system's temporary folder; creates nothing. Filesystem
TestFpException Returns true if a floating-point exception flag has been raised since it was cleared. Math Library
TextRenderer.Render Appends a record as one line of text to a buffer, without clearing it first. Logging
Then Control flow statement for conditional branching. Miscellaneous Keywords
This Hidden instance parameter passed to non-static member functions in a Type or Class. User Defined Types
ThreadCall Threading Support Functions
ThreadCreate Starts a procedure on a new thread, passing it one pointer; returns the thread handle. Threading Support Functions
ThreadDetach Releases a thread handle without waiting; the thread runs on to its end. Threading Support Functions
Threading Support Functions Procedures for working with multithreaded applications. Threading Support Functions
ThreadSelf Returns the handle of the thread that calls it. Threading Support Functions
ThreadWait Waits for a thread to finish, then releases its handle. Threading Support Functions
Time Returns the current time as text in the form hh:mm:ss. Date and Time Functions
Timer Returns the seconds since a fixed starting point, for measuring elapsed time. Date and Time Functions
TimeSerial Returns the fraction of a day for an hour, minute and second, to add to a date serial. Date and Time Functions
TimeSpan.Add Returns the sum of two durations, or Invalid on overflow. Date and Time (Chrono)
TimeSpan.CompareTo Returns -1, 0 or 1 to order two durations, or -2 if either is Invalid. Date and Time (Chrono)
TimeSpan.Days Returns the days part of the duration, negative for a negative span. Date and Time (Chrono)
TimeSpan.Divide Returns the duration divided by a number, or Invalid when dividing by zero. Date and Time (Chrono)
TimeSpan.DivideBy Returns how many times one duration fits in another, as a double. Date and Time (Chrono)
TimeSpan.Duration Returns the absolute value of the duration. Date and Time (Chrono)
TimeSpan.FromDays Returns a duration of a number of days, fractions allowed. Date and Time (Chrono)
TimeSpan.FromHours Returns a duration of a number of hours, fractions allowed. Date and Time (Chrono)
TimeSpan.FromMicroseconds Returns a duration of a whole number of microseconds. Date and Time (Chrono)
TimeSpan.FromMilliseconds Returns a duration of a number of milliseconds, fractions allowed. Date and Time (Chrono)
TimeSpan.FromMinutes Returns a duration of a number of minutes, fractions allowed. Date and Time (Chrono)
TimeSpan.FromSeconds Returns a duration of a number of seconds, fractions allowed. Date and Time (Chrono)
TimeSpan.FromTicks Returns a duration of an exact number of 100 ns ticks. Date and Time (Chrono)
TimeSpan.Hours Returns the hours part, 0 to 23, negative for a negative span. Date and Time (Chrono)
TimeSpan.Invalid Returns the Invalid duration, which spreads to anything computed from it. Date and Time (Chrono)
TimeSpan.IsNegative Returns true if the duration is below zero. Date and Time (Chrono)
TimeSpan.IsValid Returns true unless the duration overflowed or came from bad input. Date and Time (Chrono)
TimeSpan.IsZero Returns true if the duration is exactly zero, and false if it is Invalid. Date and Time (Chrono)
TimeSpan.MaxValue Returns the longest duration a TimeSpan can hold. Date and Time (Chrono)
TimeSpan.Microseconds Returns the microseconds within the second, the milliseconds included. Date and Time (Chrono)
TimeSpan.Milliseconds Returns the milliseconds part, 0 to 999, negative for a negative span. Date and Time (Chrono)
TimeSpan.Minutes Returns the minutes part, 0 to 59, negative for a negative span. Date and Time (Chrono)
TimeSpan.MinValue Returns the most negative duration a TimeSpan can hold. Date and Time (Chrono)
TimeSpan.Multiply Returns the duration scaled by a factor, fractions allowed. Date and Time (Chrono)
TimeSpan.Negate Returns the duration with its sign flipped. Date and Time (Chrono)
TimeSpan.ParseIso Reads an ISO 8601 duration such as P1DT2H into a TimeSpan, or Invalid on failure. Date and Time (Chrono)
TimeSpan.Seconds Returns the seconds part, 0 to 59, negative for a negative span. Date and Time (Chrono)
TimeSpan.Subtract Returns the difference of two durations, which may be negative. Date and Time (Chrono)
TimeSpan.Ticks Returns the duration as a count of 100 ns ticks. Date and Time (Chrono)
TimeSpan.TimeSpan Creates a duration from ticks, or from hours, minutes and seconds, with or without days. Date and Time (Chrono)
TimeSpan.ToIsoString Returns the duration as ISO 8601 text, such as PT1H30M. Date and Time (Chrono)
TimeSpan.ToString Returns the duration as ISO 8601 text, the same as ToIsoString. Date and Time (Chrono)
TimeSpan.TotalDays Returns the whole duration in days, with a fraction. Date and Time (Chrono)
TimeSpan.TotalHours Returns the whole duration in hours, with a fraction. Date and Time (Chrono)
TimeSpan.TotalMicroseconds Returns the whole duration in whole microseconds. Date and Time (Chrono)
TimeSpan.TotalMilliseconds Returns the whole duration in milliseconds, with a fraction. Date and Time (Chrono)
TimeSpan.TotalMinutes Returns the whole duration in minutes, with a fraction. Date and Time (Chrono)
TimeSpan.TotalSeconds Returns the whole duration in seconds, with a fraction. Date and Time (Chrono)
TimeSpan.TryParseIso Reads an ISO 8601 duration; returns false and sets it Invalid on failure. Date and Time (Chrono)
TimeSpan.Zero Returns a duration of zero, the same as a new TimeSpan. Date and Time (Chrono)
TimeValue Returns the date serial of a time written like 23:59:59 or 11:59:59PM. Date and Time Functions
TimeZoneInfo.DaylightName Returns the OS's name for the local zone's daylight saving time. Date and Time (Chrono)
TimeZoneInfo.IsDaylightSavingTime Returns true if daylight saving time is in force in the local zone at a given moment. Date and Time (Chrono)
TimeZoneInfo.LocalOffset Returns the local zone's UTC offset in minutes right now. Date and Time (Chrono)
TimeZoneInfo.LocalOffsetAt Returns the local zone's UTC offset in minutes at a given moment, DST included. Date and Time (Chrono)
TimeZoneInfo.StandardName Returns the OS's name for the local zone's standard time. Date and Time (Chrono)
TimeZoneInfo.SupportsDaylightSavingTime Returns true if the local zone observes daylight saving time at all. Date and Time (Chrono)
To Statement modifier to specify a range. Miscellaneous Keywords
ToDouble Returns the amount as a double, which loses precision above about 900 billion. Finance
ToMatrix Converts a quaternion into the matching rotation matrix. Math Library
ToString Returns a number as the shortest text that reads back as exactly the same value. Math Library
Total Returns the running total as a Currency, rounded once; reading it does not reset it. Finance
Trace Logs a message at trace, the finest level, or returns a record to add fields to. Logging
TrailingZeros Counts the zero bits below the lowest set bit; zero gives the type's full width. Math Library
Trans Copies pixels with Put but skips the mask colour, magenta or index 0. 2D Drawing Functions
TransformPoint Applies a matrix to a point, translation included. Math Library
TransformVector Applies a matrix to a direction, leaving out the translation. Math Library
Transpose Returns a matrix with its rows and columns swapped. Math Library
Trim Removes spaces, or the given characters, from both ends. String Functions
TrimEnd Returns a slice of the text without its trailing spaces, tabs, CRs and LFs. String Slices
TrimSpace Returns a slice of the text without the spaces, tabs, CRs and LFs at either end. String Slices
TrimStart Returns a slice of the text without its leading spaces, tabs, CRs and LFs. String Slices
True Intrinsic constant set by the compiler. Intrinsic Defines
Truncate Drops the fraction, rounding towards zero, so Truncate(-2.7) is -2. Math Library
TryCast Converts to an interface or a typed pointer if the object really is one, and answers null if it is not. Interfaces
TryGet Copies the value for a key into a variable; returns false, adding nothing, if absent. Map
TryInverse Writes the inverse of a matrix into a second one, or returns false if there is none. Math Library
TryParseDouble Parses a whole string as a Double, returning an empty Optional if it is not one. Math Library
TryParseLong Parses a whole string as a Long, returning an empty Optional if invalid or too big. Math Library
TryParseLongInt Parses a whole string as a LongInt, in an optional base; empty if invalid or too big. Math Library
TryParseSingle Parses a whole string as a Single, returning an empty Optional if it is not one. Math Library
TryParseULong Parses a whole string as a ULong, returning an empty Optional if invalid or too big. Math Library
TryParseULongInt Parses a whole string as a ULongInt, returning an empty Optional if invalid or too big. Math Library
Tuples Tuples
Type (Alias) Declares an alternative name for a type. User Defined Types
Type (Temporary) Creates a temporary copy of a user defined type. Programmer's Guide
Type (Udt) Declares a user-defined type. Operators
Type or Class Operators Operators that work with objects. Operators
TypeOf Returns the type of a variable. Miscellaneous Keywords

U

Name What it does Category
#undef Preprocessor directive to undefine a macro. Preprocessor
UBound Returns the highest valid index of an array dimension, or -1 if there is none. Array Functions
UByte Standard data type: 8 bit unsigned. Equivalent to Unsigned Byte. Standard Data Types
UCase Returns an upper-case copy of the string. String Functions
UInt16 Fixed-Width Types
UInt32 Fixed-Width Types
UInt64 Fixed-Width Types
UInt8 Fixed-Width Types
UInteger Standard data type: 32-bit or 64-bit unsigned, same size as SizeOf(Any Ptr). Equivalent to Unsigned Integer. Bit Manipulation
ULong Standard data type: 32-bit unsigned integer. Equivalent to Unsigned Long. Standard Data Types
ULongInt Standard data type: 64 bit unsigned. Equivalent to Unsigned LongInt. Standard Data Types
Ulp Returns the gap between a number and the next one its type can hold. Math Library
Unescape Turns backslash escapes back into the characters they stand for. String Library
Union Declares a union user defined type. User Defined Types
UnionWith Adds every value of another set to this one; the other set is unchanged. Set
Unlock Removes a restriction that Lock put on a record or byte range. File I/O Functions
Unsigned Integer data type modifier. Standard Data Types
Until Conditional clause used in Do..Loop statements. Miscellaneous Keywords
Unwrap Removes one surrounding pair of quotes or delimiters, if both are there. String Library
UseCount Returns how many SharedPtr handles share the object. Smart Pointers
User Defined Types User Defined Types
User Input (Runtime Library) Statements and procedures (from runtime library) that get input from the user. User Input (Runtime Library)
User Input Functions (Graphics Library) Procedures (from graphics library) for working with mice, gaming devices and keyboards. User Input Functions (Graphics Library)
UShort Standard data type: 16 bit unsigned. Equivalent to Unsigned Short. Standard Data Types
Using (Namespaces) Brings namespace symbols into the current scope. Modularizing
UString UString

V

Name What it does Category
va_arg Returns the current argument from a variable argument list. Procedures
va_first Returns a pointer to the first argument in a variable argument list. Procedures
va_next Returns a pointer to the next argument in a variable argument list. Procedures
Val Converts text to a double. Converting Data Types
ValInt Converts text to a 32-bit integer. Converting Data Types
ValLng Converts text to a 64-bit integer. Converting Data Types
Value For Each
Value Returns the value by reference; raises an error if the Optional is empty. Optional
Value Returns the value by reference; raises an error if the Result failed. Result
ValueOr Returns the value, or the fallback you pass if the Optional is empty. Optional
ValueOr Returns the value, or the fallback you pass if the Result failed. Result
Values Returns a copy of all the values as an Array, in no particular order. Map
ValUInt Converts text to an unsigned 32-bit integer. Converting Data Types
ValULng Converts text to an unsigned 64-bit integer. Converting Data Types
Var Declares a variable whose type is implied from the initializer expression. Variable Declarations
Variable Declarations Statements to declare and allocate space for variables. Variable Declarations
Variance Returns the sample variance of an array, dividing by n-1. Math Library
VariancePopulation Returns the population variance of an array, dividing by n. Math Library
VerifySet Returns the position of the first character not in a set, or 0 if all are. String Library
View (Graphics) Sets the rectangle that drawing is clipped to, or resets it to the whole screen. Screen Functions
View Print Limits printing and scrolling to a range of rows, or to the whole screen again. Console Functions
Virtual Declare virtual methods. User Defined Types
VolumeInfo.FileSystem Returns the file system's name, such as NTFS or ext4, or an empty string. Filesystem
VolumeInfo.IsCaseSensitive Returns true if names on this volume are case-sensitive. Filesystem
VolumeInfo.IsReadOnly Returns true if the whole volume is read-only. Filesystem
VolumeInfo.MaxComponentLen Returns the longest file or folder name the volume allows, not the longest path. Filesystem
VolumeInfo.Name Returns the volume's label, which may be empty and always is on Linux and macOS. Filesystem
VolumeInfo.RootPath Returns where the volume is mounted, such as C:\ or /. Filesystem
VolumeInfo.SupportsLinks Returns true if the volume can hold symbolic links; false is certain, true a best guess. Filesystem

W

Name What it does Category
Wait Reads from a hardware port with a mask. Miscellaneous Keywords
Wait Waits until the work outstanding reaches zero. Goroutines and Channels
WaitFor Waits at most ms milliseconds for the work to reach zero; returns false on a timeout. Goroutines and Channels
WalkDir Lists every entry under a folder, subfolders included, for a for each loop. Filesystem
WalkIterator Holds the iterator WalkDir hands out, for stepping through a walk without for each. Filesystem
WalkOptions.FollowSymlinks Chooses whether a walk enters linked folders; false by default, so it cannot loop. Filesystem
WalkOptions.IncludeHidden Chooses whether a walk returns hidden entries; true by default. Filesystem
WalkOptions.MaxDepth Limits how deep a walk goes: 1 is the immediate children, 0 (the default) no limit. Filesystem
WalkOptions.StopOnError Chooses whether a walk ends at its first error; false by default, so it carries on. Filesystem
WalkOptions.YieldDirectories Chooses whether a walk returns folders as well as files; true by default. Filesystem
WallClock.Now Returns the local date and time, with the UTC offset in force at this moment. Date and Time (Chrono)
WallClock.Resolution Returns the smallest step the wall clock reports, as a TimeSpan. Date and Time (Chrono)
WallClock.TimeOfDay Returns the current local time of day as a LocalTime. Date and Time (Chrono)
WallClock.Today Returns today's local date as a LocalDate. Date and Time (Chrono)
WallClock.UtcNow Returns the current moment on the UTC timeline, read from the system clock. Date and Time (Chrono)
Warn Logs a message at the warn level, or returns a record to add fields to. Logging
WBin Returns a number as binary wide-string text. String Functions
WChr Returns a wide string made from one or more Unicode code points. String Functions
WeakPtr Holds a link to a shared object that does not keep it alive, to break cycles. Smart Pointers
Weekday Returns the day of the week, 1 to 7, counting from Sunday unless told otherwise. Date and Time Functions
WeekdayName Returns the name of a weekday number in the system's language, or its abbreviation. Date and Time Functions
Wend (Or 'End While') Control flow statement. Miscellaneous Keywords
WHex Returns a number as hexadecimal wide-string text. String Functions
While Control flow statement. Miscellaneous Keywords
While...Wend (Or 'While...End While') Control flow statement for looping. Control Flow Statements
Width Sets or returns the number of columns and rows of the console. Console Functions
Window Sets the coordinate system mapped onto the current view. Screen Functions
WindowTitle Sets the title of the graphics window. Screen Functions
Winput() Reads a number of wide characters from a file or device and returns them. User Input (Runtime Library)
With Statement block to allow implicit access to fields in a user defined type variable. User Defined Types
WithCancel Returns a child context that you cancel yourself. Goroutines and Channels
WithField Returns a child logger that adds one field to every record it makes. Logging
WithName Returns a child logger with its own component name and the parent's sinks. Logging
WithTimeout Returns a child context that cancels itself after the given milliseconds. Goroutines and Channels
WOct Returns a number as octal wide-string text. String Functions
WorkerCount Returns how many OS threads the scheduler is running goroutines on. Goroutines and Channels
Wrap Surrounds the string with quotes or a given pair of delimiters. String Library
Write Writes values separated by commas, with strings in double quotes. Console Functions
Write # Writes values to a file as comma-separated text, strings in quotes, for Input # to read. File I/O Functions
Write (File Access) Opens a Binary or Random file for writing only; an existing file is emptied first. File I/O Functions
WriteAllBytes Writes an Array of bytes to a file, creating the file or replacing it. Filesystem
WriteAllText Writes a string to a file as UTF-8, creating the file or replacing it. Filesystem
WriteAtomic Replaces a file so a reader sees the old or the new contents, never a half-written file. Filesystem
WSpace Returns a wide string of n spaces. String Functions
WStr Returns a number as a wide string. Converting Data Types
WString Standard data type: wide character string. Standard Data Types
Wstring (Function) Returns a wide string of n copies of one character. String Functions

X

Name What it does Category
Xor (Graphics Put) Combines source and destination pixels with a bitwise Xor, as a Put method. 2D Drawing Functions

Y

Name What it does Category
Year Returns the year of a date serial. Date and Time Functions

Z

Name What it does Category
ZString Standard data type: 8 bit character string. Standard Data Types

Other

Name What it does Category
... (Ellipsis) Procedures
2D Drawing Functions Statements and procedures for working with 2D graphics. 2D Drawing Functions
DATE Intrinsic define (macro value) set by the compiler. Intrinsic Defines
DATE_ISO Intrinsic define (macro value) set by the compiler. Intrinsic Defines
__Fastcall Specifies the Fastcall calling convention in a procedure declaration. Procedures
FB_64BIT Intrinsic define set by the compiler. Intrinsic Defines
FB_ANDROID Intrinsic define set by the compiler. Intrinsic Defines
FB_ARG_COUNT Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_ARG_EXTRACT Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_ARG_LEFTOF Intrinsic define (macro) performed by the compiler. Intrinsic Defines
Fb_Arg_Listexpand Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_ARG_RIGHTOF Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_ARGC Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_ARGV Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_ARM Intrinsic define set by the compiler. Intrinsic Defines
FB_ASM Intrinsic define set by the compiler. Intrinsic Defines
FB_BACKEND Intrinsic define set by the compiler. Intrinsic Defines
FB_BIGENDIAN Intrinsic define set by the compiler. Intrinsic Defines
FB_BUILD_DATE Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FB_BUILD_DATE_ISO Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FB_BUILD_FORK_ID Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FB_BUILD_SHA1 Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FB_CYGWIN Intrinsic define set by the compiler. Intrinsic Defines
FB_DARWIN Intrinsic define set by the compiler. Intrinsic Defines
FB_DOS Intrinsic define set by the compiler. Intrinsic Defines
FB_ERR Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_EVAL Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_FPMODE Intrinsic define set by the compiler. Intrinsic Defines
FB_FPU Intrinsic define set by the compiler. Intrinsic Defines
FB_FREEBSD Intrinsic define set by the compiler. Intrinsic Defines
FB_GCC Intrinsic define set by the compiler. Intrinsic Defines
FB_GUI Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_IIF Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_JOIN Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_JS Intrinsic define set by the compiler. Intrinsic Defines
FB_LANG Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_LINUX Intrinsic define set by the compiler. Intrinsic Defines
FB_MAIN Intrinsic define set by the compiler. Intrinsic Defines
FB_MIN_VERSION Macro function to test minimum compiler version. Intrinsic Defines
TIKO_COMPILER TIKO_COMPILER
FB_MT Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_NETBSD Intrinsic define set by the compiler. Intrinsic Defines
FB_OPENBSD Intrinsic define set by the compiler. Intrinsic Defines
FB_OPTIMIZE Intrinsic define set by the compiler. Intrinsic Defines
FB_OPTION_BYVAL Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OPTION_DYNAMIC Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OPTION_ESCAPE Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OPTION_EXPLICIT Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OPTION_GOSUB Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OPTION_PRIVATE Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OPTION_PROFILE Intrinsic define set by the compiler. Intrinsic Defines
FB_OUT_DLL Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OUT_EXE Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OUT_LIB Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_OUT_OBJ Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_PCOS Intrinsic define set by the compiler. Intrinsic Defines
FB_PPC Intrinsic define set by the compiler. Intrinsic Defines
FB_PROFILE Intrinsic define set by the compiler. Intrinsic Defines
Fb_Query_Symbol Intrinsic define (macro) performed by the compiler, and its associated sub-macros. Intrinsic Defines
FB_QUOTE Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_SIGNATURE Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FB_SSE Intrinsic define set by the compiler. Intrinsic Defines
FB_UNIQUEID Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_UNIQUEID_POP Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_UNIQUEID_PUSH Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_UNIX Intrinsic define set by the compiler. Intrinsic Defines
FB_UNQUOTE Intrinsic define (macro) performed by the compiler. Intrinsic Defines
FB_VECTORIZE Intrinsic define set by the compiler. Intrinsic Defines
FB_VER_MAJOR Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_VER_MINOR Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_VER_PATCH Intrinsic define (macro value) set by the compiler. Intrinsic Defines
FB_VERSION Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FB_WIN32 Intrinsic define set by the compiler. Intrinsic Defines
FB_X86 Intrinsic define set by the compiler. Intrinsic Defines
FB_XBOX Intrinsic define set by the compiler. Intrinsic Defines
FILE Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FILE_NQ Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FUNCTION Intrinsic define (macro string) set by the compiler. Intrinsic Defines
FUNCTION_NQ Intrinsic define (macro string) set by the compiler. Intrinsic Defines
LINE Intrinsic define (macro value) set by the compiler. Intrinsic Defines
PATH Intrinsic define (macro string) set by the compiler. Intrinsic Defines
__Thiscall Specifies the Thiscall calling convention in a procedure declaration. Procedures
TIME Intrinsic define (macro value) set by the compiler. Intrinsic Defines

Clone this wiki locally