REBOL 3 - Function Summary

For version: 2.100.94.3.1
Click word for full documentation


! value

Returns the logic complement. [native!]

value -- (Only FALSE and NONE return TRUE) [any value]


!= value1 value2

Returns TRUE if the values are not equal. [op!]

value1 -- [any value]
value2 -- [any value]


!== value1 value2

Returns TRUE if the values are not equal or not of the same datatype. [op!]

value1 -- [any value]
value2 -- [any value]


* value1 value2

Returns the first value multiplied by the second. [op!]

value1 -- [scalar!]
value2 -- [scalar!]


** number exponent

Returns the first number raised to the second number. [op!]

number -- [number!]
exponent -- [number!]


+ value1 value2

Returns the result of adding two values. [op!]

value1 -- [scalar! date!]
value2 -- [any value]


++ 'word

Increment an integer or series index. Return its prior value. [native!]

'word -- Integer or series variable [word!]


- value1 value2

Returns the second value subtracted from the first. [op!]

value1 -- [scalar! date!]
value2 -- [scalar! date!]


-- 'word

Decrement an integer or series index. Return its prior value. [native!]

'word -- Integer or series variable [word!]


/ value1 value2

Returns the first value divided by the second. [op!]

value1 -- [scalar!]
value2 -- [scalar!]


// value1 value2

Returns the remainder of first value divided by second. [op!]

value1 -- [scalar!]
value2 -- [scalar!]


< value1 value2

Returns TRUE if the first value is less than the second value. [op!]

value1 -- [any value]
value2 -- [any value]


<= value1 value2

Returns TRUE if the first value is less than or equal to the second value. [op!]

value1 -- [any value]
value2 -- [any value]


<> value1 value2

Returns TRUE if the values are not equal. [op!]

value1 -- [any value]
value2 -- [any value]


= value1 value2

Returns TRUE if the values are equal. [op!]

value1 -- [any value]
value2 -- [any value]


== value1 value2

Returns TRUE if the values are equal and of the same datatype. [op!]

value1 -- [any value]
value2 -- [any value]


=? value1 value2

Returns TRUE if the values are identical. [op!]

value1 -- [any value]
value2 -- [any value]


> value1 value2

Returns TRUE if the first value is greater than the second value. [op!]

value1 -- [any value]
value2 -- [any value]


>= value1 value2

Returns TRUE if the first value is greater than or equal to the second value. [op!]

value1 -- [any value]
value2 -- [any value]


? 'word

Prints information about words and values. [function!]

'word -- [any-type!]
/doc -- Open web browser to related documentation. [any value]


?? 'name

Debug print a word, path, or block of such, followed by its molded value. [function!]

'name -- Word, path, and block to obtain values. [any value]


about

Information about REBOL [function!]


abs value

Returns the absolute value. [action!]

value -- [number! pair! money! time!]


absolute value

Returns the absolute value. [action!]

value -- [number! pair! money! time!]


action? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


add value1 value2

Returns the result of adding two values. [action!]

value1 -- [scalar! date!]
value2 -- [any value]


ajoin block

Reduces and joins a block of values into a new string. [native!]

block -- [block!]


alias word name

Creates an alternate spelling for a word. [native!]

word -- Word to alias [word!]
name -- Name of alias [string!]


all block

Shortcut AND. Evaluates and returns at the first FALSE or NONE. [native!]

block -- Block of expressions [block!]


also value1 value2

Returns the first value, but also evaluates the second. [native!]

value1 -- [any-type!]
value2 -- [any-type!]


alter series value

If a value is not found in a series, append it; otherwise, remove it. Returns true if added. (Modifies) [function!]

series -- [series! port! bitset!]
value -- [any value]
/case -- Case-sensitive comparison [any value]


and value1 value2

Returns the first value ANDed with the second. [op!]

value1 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]
value2 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]


and~ value1 value2

Returns the first value ANDed with the second. [action!]

value1 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]
value2 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]


any block

Shortcut OR. Evaluates and returns the first value that is not FALSE or NONE. [native!]

block -- Block of expressions [block!]


any-block? value

Return TRUE if value is any type of block. [function!]

value -- [any-type!]


any-function? value

Return TRUE if value is any type of function. [function!]

value -- [any-type!]


any-object? value

Return TRUE if value is any type of object. [function!]

value -- [any-type!]


any-path? value

Return TRUE if value is any type of path. [function!]

value -- [any-type!]


any-string? value

Return TRUE if value is any type of string. [function!]

value -- [any-type!]


any-word? value

Return TRUE if value is any type of word. [function!]

value -- [any-type!]


append series value

Inserts a value at tail of series and returns the series at head. (Modifies) [action!]

series -- Series at point to insert [series! port! map! gob! object! bitset!]
value -- The value to insert [any-type!]
/part -- Limits to a given length or position [any value]
length -- [number! series! pair!]
/only -- Only insert a block as a single value (not the contents of the block) [any value]
/dup -- Duplicates the insert a specified number of times [any value]
count -- [number! pair!]


apply func block

Apply a function to a reduced block of arguments. [native!]

func -- Function value to apply [any-function!]
block -- Block of args, reduced first (unless /only) [block!]
/only -- Use arg values as-is, do not reduce the block [any value]


arccosine value

Returns the trigonometric arccosine (in degrees by default). [native!]

value -- [number!]
/radians -- Returns result in radians [any value]


arcsine value

Returns the trigonometric arcsine (in degrees by default). [native!]

value -- [number!]
/radians -- Returns result in radians [any value]


arctangent value

Returns the trigonometric arctangent (in degrees by default). [native!]

value -- [number!]
/radians -- Returns result in radians [any value]


array size

Makes and initializes a series of a given size. [function!]

size -- Size or block of sizes for each dimension [integer! block!]
/initial -- Specify an initial value for all elements [any value]
value -- Initial value (will be called each time if a function) [any value]


as-pair x y

Combine X and Y values into a pair. [function!]

x -- [number!]
y -- [number!]


ascii? value

Returns TRUE if value or string is in ASCII character range (below 128). [native!]

value -- [any-string! char! integer!]


ask question

Ask the user for input. [function!]

question -- Prompt to user [series!]
/hide -- mask input with * [any value]


assert conditions

Assert that condition is true, else throw an assertion error. [native!]

conditions -- [block!]
/type -- Safely check datatypes of variables (words and paths) [any value]


at series index

Returns the series at the specified index. [action!]

series -- [series! gob! port!]
index -- [number! logic! pair!]


attempt block

Tries to evaluate a block and returns result or NONE on error. [native!]

block -- [block!]


back series

Returns the series at its previous position. [action!]

series -- [series! gob! port!]


binary? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


bind words context

Binds words to the specified context. (Modifies) [native!]

words -- A block of words or single word (returned) [block! any-word!]
context -- A reference to the target context [any-word! any-object!]
/copy -- Deep copy block before binding it [any value]
/only -- Bind only first block (not deep) [any value]
/new -- Add to context any new words found [any value]
/set -- Add to context any new set-words found [any value]


bind? words

Returns the context in which a word is bound. [native!]

words -- [any-word!]


bitset? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


block? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


body-of value

Returns a copy of the body of a function, object, or module [function!]

value -- [any value]


boot-print data

Prints boot info [function!]

data -- [any value]


break

Breaks out of a loop, while, until, repeat, foreach, etc. [native!]

/return -- Forces the loop function to return a value [any value]
value -- [any-type!]


browse url

Open web browser to a URL or local file. [native!]

url -- [url! file! none!]


bugs

View bug database. [function!]


call command

Run another program; return immediately. [native!]

command -- An OS-local command line, quoted as necessary [string!]


caret-to-offset gob element position

Returns the xy offset (pair) for a specific string position in a graphics object. [native!]

gob -- [gob!]
element -- The position of the string in the richtext block [block! integer!]
position -- The position within the string [string! integer!]


case block

Evaluates each condition, and when true, evaluates what follows it. [native!]

block -- Block of cases (conditions followed by values) [block!]
/all -- Evaluate all cases (do not stop at first true case) [any value]


catch block

Catches a throw from a block and returns its value. [native!]

block -- Block to evaluate [block!]
/name -- Catches a named throw [any value]
word -- One or more names [word! block!]
/quit -- Special catch for QUIT native [any value]


cause-error err-type err-id args

Causes an immediate error throw with the provided information. [function!]

err-type -- [word!]
err-id -- [word!]
args -- [any value]


cd 'path

Change directory (shell shortcut function). [function!]

'path -- Accepts %file, :variables and just words (as dirs) [file! word! path! unset! string!]


change series value

Changes a value in a series and returns the series after the change. (Modifies) [action!]

series -- Series at point to change [series! gob! port!]
value -- The new value [any-type!]
/part -- Limits the amount to change to a given length or position [any value]
length -- [number! series! pair!]
/only -- Only change a block as a single value (not the contents of the block) [any value]
/dup -- Duplicates the change a specified number of times [any value]
count -- [number! pair!]


change-dir path

Changes the current directory path. [native!]

path -- [file!]


changes

What's new about this version. [function!]


char? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


charset chars

Makes a bitset of chars for the parse function. [function!]

chars -- [string! block! binary! char! integer! none!]
/length -- Preallocate this many bits [any value]
len -- Must be > 0 [integer!]


chat

Open REBOL DevBase forum/BBS. [function!]


check val

Temporary series debug check [native!]

val -- [series!]


checksum data

Computes a checksum, CRC, or hash. [native!]

data -- Byte string to checksum [binary!]
/tcp -- Returns an Internet TCP 16-bit checksum [any value]
/secure -- Returns a cryptographically secure checksum [any value]
/hash -- Returns a hash value [any value]
size -- Size of the hash table [integer!]
/method -- Method to use [any value]
word -- Method: SHA1 MD5 [word!]
/key -- Returns keyed HMAC value [any value]
key-value -- Key to use [any-string!]


clean-path file

Returns new directory path with //, . and .. processed. [function!]

file -- [file! url! string!]
/only -- Do not prepend current directory [any value]
/dir -- Add a trailing / if missing [any value]


clear series

Removes all values. For series, removes from current index to tail and returns tail. (Modifies) [action!]

series -- [series! port! map! gob! bitset! none!]


close port

Closes a port. [action!]

port -- [port!]


closure spec body

Defines a closure function. [function!]

spec -- Help string (opt) followed by arg words (and opt type and string) [block!]
body -- The body block of the function [block!]


closure? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


collect body

Evaluates a block, storing values via KEEP function, and returns block of collected values. [function!]

body -- Block to evaluate [block!]
/into -- Insert into a buffer instead (returns position after insert) [any value]
output -- The buffer series (modified) [series!]


collect-words block

Collect unique words used in a block (used for context construction). [native!]

block -- [block!]
/deep -- Include nested blocks [any value]
/set -- Only include set-words [any value]
/ignore -- Ignore prior words [any value]
words -- Words to ignore [any-object! block!]


command? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


comment value

Ignores the argument value and returns nothing. [native!]

value -- A string, block, or any other value [any value]


complement value

Returns the one's complement value. [action!]

value -- [logic! integer! tuple! binary! pair! bitset! typeset! image!]


compose value

Evaluates a block of expressions, only evaluating parens, and returns a block. [native!]

value -- Block to compose [any value]
/deep -- Compose nested blocks [any value]
/only -- Insert a block as a single value (not the contents of the block) [any value]
/into -- Output results into a block with no intermediate storage [any value]
out -- [any-block!]


compress data

Compresses a string series and returns it. [native!]

data -- If string, it will be UTF8 encoded [binary! string!]


confirm question

Confirms a user choice. [function!]

question -- Prompt to user [series!]
/with -- [any value]
choices -- [string! block!]


construct block

Creates an object with scant (safe) evaluation. [native!]

block -- Specification [block! string! binary!]
/with -- Default object [any value]
object -- [object!]
/only -- Values are kept as-is [any value]


context blk

Defines a unique object. [function!]

blk -- Object words and values. [block!]


continue

Throws control back to top of loop. [native!]


copy value

Copies a series or object. [action!]

value -- [series! port! map! object! bitset! any-function!]
/part -- Limits to a given length or position [any value]
length -- [number! series! pair!]
/deep -- Also copies series values within the block [any value]
/types -- What datatypes to copy [any value]
kinds -- [typeset! datatype!]


cosine value

Returns the trigonometric cosine. [native!]

value -- In degrees by default [number!]
/radians -- Value is specified in radians [any value]


create port

Send port a create request. [action!]

port -- [port! file! url! block!]


cursor image

Changes the mouse cursor image. [native!]

image -- [integer! image! none!]


datatype? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


date? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


debase value

Decodes binary-coded string (BASE-64 default) to binary value. [native!]

value -- The string to decode [binary! string!]
/base -- Binary base to use [any value]
base-value -- The base to convert from: 64, 16, or 2 [integer!]


decimal? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


decloak data key

Decodes a binary string scrambled previously by encloak. (Modifies) [native!]

data -- Binary to descramble [binary!]
key -- Encryption key or pass phrase [string! binary! integer!]
/with -- Use a string! key as-is (do not generate hash) [any value]


decode type data

Decodes a series of bytes into the related datatype (e.g. image!). [function!]

type -- Media type (jpeg, png, etc.) [word!]
data -- The data to decode [binary!]


decode-url url

undocumented function. [function!]

url -- [any value]


decompress data

Decompresses data. Result is binary. [native!]

data -- Data to decompress [binary!]
/limit -- [any value]
size -- Limit the result to this maximum size [any value]


default 'word value

Set a word to a default value if it hasn't been set yet. [function!]

'word -- The word (use :var for word! values) [word! set-word! lit-word!]
value -- The value [any value]


dehex value

Converts URL-style hex encoded (%xx) strings. [native!]

value -- The string to dehex [any-string!]


delect dialect input output

Parses a common form of dialects. Returns updated input block. [native!]

dialect -- Describes the words and datatypes of the dialect [object!]
input -- Input stream to parse [block!]
output -- Resulting values, ordered as defined [block!]
/in -- Search for var words in specific objects (contexts) [any value]
where -- Block of objects to search (non objects ignored) [block!]
/all -- Parse entire block, not just one command at a time [any value]


delete port

Send port a delete request. [action!]

port -- [port! file! url! block!]


deline string

Converts string terminators to standard format, e.g. CRLF to LF. (Modifies) [native!]

string -- [any-string!]
/lines -- Return block of lines (works for LF, CR, CR-LF endings) (does not modify) [any value]


delta-profile block

Delta-profile of running a specific block. [function!]

block -- [block!]


delta-time block

Delta-time - return the time it takes to evaluate a block. [function!]

block -- [block!]


demo

Run R3 demo. [function!]


detab string

Converts tabs in a string to spaces (default tab size 4). (Modifies) [native!]

string -- [any-string!]
/size -- Specifies the number of spaces per tab [any value]
number -- [integer!]


difference set1 set2

Returns the difference of two data sets or dates. [native!]

set1 -- First data set [block! string! binary! bitset! date! typeset!]
set2 -- Second data set [block! string! binary! bitset! date! typeset!]
/case -- Uses case-sensitive comparison [any value]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


dir? file

Returns true if file is a directory. [native!]

file -- [any-string! none!]
/any -- Allow * or ? wildcards for directory [any value]


dirize path

Returns a copy of the path turned into a directory. [function!]

path -- [file! string! url!]


disarm value

Deprecated function for converting error objects. Not used in R3. [function!]

value -- [any-type!]


divide value1 value2

Returns the first value divided by the second. [action!]

value1 -- [scalar!]
value2 -- [scalar!]


do value

Evaluates a block, file, URL, function, word, or any other value. [native!]

value -- Normally a file name, URL, or block [any-type!]
/args -- If value is a script, this will set its system/script/args [any value]
arg -- Args passed to a script (normally a string) [any value]
/next -- Do next expression only, return it, update block variable [any value]
var -- Variable updated with new block position [word!]


do-codec handle action data

Evaluate a CODEC function to encode or decode media types. [native!]

handle -- Internal link to codec [handle!]
action -- Decode, encode, identify [word!]
data -- [binary! image!]


do-events

Waits for window events. Returns when all windows are closed. [function!]


do-needs needs

Process the NEEDS block of a program header. [function!]

needs -- [block! object! tuple! none!]
/only -- Don't import unnamed modules to the user context [any value]


docs

Browse on-line documentation. [function!]


does body

A shortcut to define a function that has no arguments or locals. [function!]

body -- The body block of the function [block!]


dp block

Delta-profile of running a specific block. [function!]

block -- [block!]


draw image commands

Renders draw dialect (scalable vector graphics) to an image (returned). [native!]

image -- Image or size of image [image! pair!]
commands -- Draw commands [block!]


ds

Temporary stack debug [native!]


dt block

Delta-time - return the time it takes to evaluate a block. [function!]

block -- [block!]


dump v

Temporary debug dump [native!]

v -- [any value]


dump-obj obj

Returns a block of information about an object or port. [function!]

obj -- [object! port!]
/match -- Include only those that match a string or datatype [any value]
pat -- [any value]


echo target

Copies console output to a file. [native!]

target -- [file! none! logic!]


effect image commands

Renders effect dialect to an image (returned). [native!]

image -- Image or size of image [image! pair!]
commands -- Effect commands [block!]


eighth value

Returns the eighth value of a series. [native!]

value -- [any value]


either condition true-block false-block

If condition is TRUE, evaluates the first block, else evaluates the second. [native!]

condition -- [any value]
true-block -- [block!]
false-block -- [block!]


email? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


empty? series

Returns TRUE if empty, or for series, if index is at or beyond its tail. [action!]

series -- [series! gob! port! bitset! map!]


enbase value

Encodes a string into a binary-coded string (BASE-64 default). [native!]

value -- If string, will be UTF8 encoded [binary! string!]
/base -- Binary base to use [any value]
base-value -- The base to convert to: 64, 16, or 2 [integer!]


encloak data key

Scrambles a binary string based on a key. (Modifies) [native!]

data -- Binary to scramble [binary!]
key -- Encryption key or pass phrase [string! binary! integer!]
/with -- Use a string! key as-is (do not generate hash) [any value]


encode type data

Encodes a datatype (e.g. image!) into a series of bytes. [function!]

type -- Media type (jpeg, png, etc.) [word!]
data -- The data to encode [image! binary! string!]
/options -- [any value]
opts -- Special encoding options [block!]


encoding? data

Returns the media codec name for given binary data. (identify) [function!]

data -- [binary!]


enline series

Converts standard string terminators to current OS format, e.g. LF to CRLF. (Modifies) [native!]

series -- [any-string! block!]


entab string

Converts spaces in a string to tabs (default tab size 4). (Modifies) [native!]

string -- [any-string!]
/size -- Specifies the number of spaces per tab [any value]
number -- [integer!]


equal? value1 value2

Returns TRUE if the values are equal. [native!]

value1 -- [any value]
value2 -- [any value]


equiv? value1 value2

Returns TRUE if the values are equivalent. [native!]

value1 -- [any value]
value2 -- [any value]


error? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


eval value

Evaluates a block, file, URL, function, word, or any other value. [native!]

value -- Normally a file name, URL, or block [any value]


even? number

Returns TRUE if the number is even. [action!]

number -- [number! char! date! money! time! pair!]


event? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


evoke chant

Special guru meditations. (Not for beginners.) [native!]

chant -- Single or block of words ('? to list) [word! block! integer!]


exclude set1 set2

Returns the first data set less the second data set. [native!]

set1 -- First data set [block! string! binary! bitset! typeset!]
set2 -- Second data set [block! string! binary! bitset! typeset!]
/case -- Uses case-sensitive comparison [any value]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


exists? target

Returns the type of a file or URL if it exists, otherwise none. [function!]

target -- [file! url!]


exit

Exits a function, returning no value. [native!]


exp power

Raises E (natural number) to the power specified. [native!]

power -- [number!]


extend obj word val

Extend an object, map, or block type with word and value pair. [function!]

obj -- [object! map! block! paren!]
word -- [any-word!]
val -- [any value]


extract series width

Extracts a value from a series at regular intervals. [function!]

series -- [series!]
width -- Size of each entry (the skip) [integer!]
/index -- Extract from an offset position [any value]
pos -- The position(s) [any value]
/default -- Use a default value instead of none [any value]
value -- The value to use (will be called each time if a function) [any value]
/into -- Insert into a buffer instead (returns position after insert) [any value]
output -- The buffer series (modified) [series!]


fifth value

Returns the fifth value of a series. [native!]

value -- [any value]


file-type? file

Return the identifying word for a specific file type (or NONE). [function!]

file -- [file! url!]


file? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


find series value

Finds a value in a series and returns the series at the start of it. [action!]

series -- [series! gob! port! bitset! typeset! object! none!]
value -- [any-type!]
/part -- Limits the search to a given length or position [any value]
length -- [number! series! pair!]
/only -- Treats a series value as only a single value [any value]
/case -- Characters are case-sensitive [any value]
/any -- Enables the * and ? wildcards [any value]
/with -- Allows custom wildcards [any value]
wild -- Specifies alternates for * and ? [string!]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]
/last -- Backwards from end of series [any value]
/reverse -- Backwards from the current position [any value]
/tail -- Returns the end of the series [any value]
/match -- Performs comparison and returns the tail of the match [any value]


find-script script

Find a script header within a binary string. Returns starting position. [native!]

script -- [binary!]


first value

Returns the first value of a series. [native!]

value -- [any value]


first+ 'word

Return FIRST of series, and increment the series index. [native!]

'word -- Word must be a series [word!]


for 'word start end bump body

Evaluate a block over a range of values. (See also: REPEAT) [native!]

'word -- Variable to hold current value [word!]
start -- Starting value [series! number!]
end -- Ending value [series! number!]
bump -- Amount to skip each time [series! number!]
body -- Block to evaluate [block!]


forall 'word body

Evaluates a block for every value in a series. [native!]

'word -- Word that refers to the series, set to each position in series [word!]
body -- Block to evaluate each time [block!]


foreach 'word data body

Evaluates a block for each value(s) in a series. [native!]

'word -- Word or block of words to set each time (local) [word! block!]
data -- The series to traverse [series! any-object! map! none!]
body -- Block to evaluate each time [block!]


forever body

Evaluates a block endlessly. [native!]

body -- Block to evaluate each time [block!]


form value

Converts a value to a string. [native!]

value -- The value to form [any-type!]


format rules values

Format a string according to the format dialect. [function!]

rules -- A block in the format dialect. E.g. [10 -10 #"-" 4] [any value]
values -- [any value]
/pad -- [any value]
p -- [any value]


forskip 'word size body

Evaluates a block for periodic values in a series. [native!]

'word -- Word that refers to the series, set to each position in series [word!]
size -- Number of positions to skip each time [integer! decimal!]
body -- Block to evaluate each time [block!]


found? value

Returns TRUE if value is not NONE. [function!]

value -- [any value]


fourth value

Returns the fourth value of a series. [native!]

value -- [any value]


frame? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


func spec body

Defines a user function with given spec and body. [function!]

spec -- Help string (opt) followed by arg words (and opt type and string) [block!]
body -- The body block of the function [block!]


funco spec body

Defines a function, but does not copy spec or body. [function!]

spec -- Help string (opt) followed by arg words (and opt type and string) [block!]
body -- The body block of the function [block!]


funct spec body

Defines a function with all set-words as locals. [function!]

spec -- Help string (opt) followed by arg words (and opt type and string) [block!]
body -- The body block of the function [block!]
/with -- Define or use a persistent object (self) [any value]
object -- The object or spec [object! block! map!]


function spec vars body

Defines a user function with local words. [function!]

spec -- Optional help info followed by arg words (and optional type and string) [block!]
vars -- List of words that are local to the function [block!]
body -- The body block of the function [block!]


function? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


get word

Gets the value of a word, path, or values of an object. [native!]

word -- Word, path, object to get [any value]
/any -- Allows word to have no value (be unset) [any value]


get-env var

Returns the value of an OS environment variable (for current process). [native!]

var -- [any-string! any-word!]


get-path? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


get-word? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


gob? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


greater-or-equal? value1 value2

Returns TRUE if the first value is greater than or equal to the second value. [native!]

value1 -- [any value]
value2 -- [any value]


greater? value1 value2

Returns TRUE if the first value is greater than the second value. [native!]

value1 -- [any value]
value2 -- [any value]


halt

Stops evaluation and returns to the input prompt. [native!]


handle-events handler

Adds a handler to the view event system. [function!]

handler -- [block!]


handle? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


handled-events? name

Returns event handler object matching a given name. [function!]

name -- [any value]


has vars body

A shortcut to define a function that has local variables but no arguments. [function!]

vars -- List of words that are local to the function [block!]
body -- The body block of the function [block!]


head series

Returns the series at its head. [action!]

series -- [series! gob! port!]


head? series

Returns TRUE if a series is at its head. [action!]

series -- [series! gob! port!]


help 'word

Prints information about words and values. [function!]

'word -- [any-type!]
/doc -- Open web browser to related documentation. [any value]


if condition then-block

If condition is TRUE, evaluates the block. [native!]

condition -- [any value]
then-block -- [block!]
/else -- If not true, evaluate this block [any value]
else-block -- [block!]


image? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


import module

Imports a module; locate, load, make, and setup its bindings. [function!]

module -- [word! file! url! module! block!]
/version -- [any value]
ver -- Module must be this version or greater [tuple!]
/check -- [any value]
sum -- Module checksum as (checksum/secure of mold/flat) [binary!]
/isolate -- Force module to create and use its own non-shared global namespace [any value]
/only -- Load and return module, but don't export to system [any value]


in object word

Returns the word or block in the object's context. [native!]

object -- [any-object! block!]
word -- [any-word! block! paren!]


in-context context

Set the default context for global words. [native!]

context -- [object!]


in-dir dir block

Evaluate a block while in a directory. [function!]

dir -- Directory to change to (changed back after) [file!]
block -- Block to evaluate [block!]


index? series

Returns the index number of the current position in the series. [action!]

series -- [series! gob! port!]
/xy -- Returns index as an XY pair offset [any value]


info? target

Returns an info object about a file or url. [function!]

target -- [file! url!]


init-view-system

Initialize the View subsystem. [function!]


input

Inputs a string from the console. New-line character is removed. [function!]


insert series value

Inserts into a series and returns the series after the insert. (Modifies) [action!]

series -- Series at point to insert [series! port! map! gob! object! bitset! port!]
value -- The value to insert [any-type!]
/part -- Limits to a given length or position [any value]
length -- [number! series! pair!]
/only -- Only insert a block as a single value (not the contents of the block) [any value]
/dup -- Duplicates the insert a specified number of times [any value]
count -- [number! pair!]


integer? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


intern data

Import new values into the user context (bind and resolve them). [function!]

data -- Block to be added (deeply) [block!]


intersect set1 set2

Returns the intersection of two data sets. [native!]

set1 -- first set [block! string! binary! bitset! typeset!]
set2 -- second set [block! string! binary! bitset! typeset!]
/case -- Uses case-sensitive comparison [any value]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


invalid-utf? data

Checks for proper UTF encoding and returns NONE if correct or position where the error occurred. [native!]

data -- [binary!]
/utf -- Check encodings other than UTF-8 [any value]
num -- Bit size - positive for BE negative for LE [integer!]


issue? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


join value rest

Concatenates values. [function!]

value -- Base value [any value]
rest -- Value or block of values [any value]


last value

Returns the last value of a series. [native!]

value -- [series! tuple! gob!]


latin1? value

Returns TRUE if value or string is in Latin-1 character range (below 256). [native!]

value -- [any-string! char! integer!]


launch script

Runs a script as a separate process; return immediately. [function!]

script -- The name of the script [file! string! none!]
/args -- [any value]
arg -- Arguments to the script [string! block! none!]


length? series

Returns the length of the series from the current position. [action!]

series -- [series! port! map! tuple! bitset! object! gob! struct! any-word!]


lesser-or-equal? value1 value2

Returns TRUE if the first value is less than or equal to the second value. [native!]

value1 -- [any value]
value2 -- [any value]


lesser? value1 value2

Returns TRUE if the first value is less than the second value. [native!]

value1 -- [any value]
value2 -- [any value]


library? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


license

Prints the REBOL/core license agreement. [function!]


limit-usage field limit

Set a usage limit only once (used for SECURE). [native!]

field -- eval (count) or memory (bytes) [word!]
limit -- [number!]


list-dir 'path

Print contents of a directory (ls). [function!]

'path -- Accepts %file, :variables, and just words (as dirs) [file! word! path! string! unset!]
/l -- Line of info format [any value]
/f -- Files only [any value]
/d -- Dirs only [any value]
/r -- Recursive [any value]
/i -- [any value]
indent -- [any value]


list-env

Returns a map of OS environment variables (for current process). [native!]


lit-path? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


lit-word? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


load source

Loads a file, URL, or string. [function!]

source -- Source or block of sources [file! url! string! binary! block!]
/header -- Includes REBOL header object if present. Preempts /all. [any value]
/next -- Load the next value only. Return block with value and new position. [any value]
/all -- Load all values. Does not evaluate REBOL header. [any value]
/unbound -- Do not bind the block. [any value]


load-extension name

Low level extension module loader (for DLLs). [native!]

name -- [file!]


load-gui

Download current GUI module from web. (Temporary) [function!]


log-10 value

Returns the base-10 logarithm. [native!]

value -- [number!]


log-2 value

Return the base-2 logarithm. [native!]

value -- [number!]


log-e value

Returns the base-E (natural number) logarithm. [native!]

value -- [number!]


logic? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


loop count block

Evaluates a block a specified number of times. [native!]

count -- Number of repetitions [number!]
block -- Block to evaluate [block!]


lowercase string

Converts string of characters to lowercase. (Modifies) [native!]

string -- [any-string! char!]
/part -- Limits to a given length or position [any value]
length -- [number! any-string!]


ls 'path

Print contents of a directory (ls). [function!]

'path -- Accepts %file, :variables, and just words (as dirs) [file! word! path! string! unset!]
/l -- Line of info format [any value]
/f -- Files only [any value]
/d -- Dirs only [any value]
/r -- Recursive [any value]
/i -- [any value]
indent -- [any value]


make type spec

Constructs a specified datatype. [action!]

type -- The datatype or example value [any-type!]
spec -- The attributes of the new value [any-type!]


make-banner fmt

Build startup banner. [function!]

fmt -- [any value]


make-dir path

Creates the specified directory. No error if already exists. [function!]

path -- [file! url!]
/deep -- Create subdirectories too [any value]


make-scheme def

Make a scheme from a specification and add it to the system. [function!]

def -- Scheme specification [block!]
/with -- [any value]
'scheme -- Scheme name to use as base [any value]


map

Temporary function to catch MAP usage changes. [function!]


map-each 'word data body

Evaluates a block for each value(s) in a series and returns them as a block. [native!]

'word -- Word or block of words to set each time (local) [word! block!]
data -- The series to traverse [block! vector!]
body -- Block to evaluate each time [block!]


map-event event

Returns event with inner-most graphical object and coordinate. [native!]

event -- [event!]


map-gob-offset gob xy

Translates a gob and offset to the deepest gob and offset in it, returned as a block. [native!]

gob -- Starting object [gob!]
xy -- Staring offset [pair!]
/reverse -- Translate from deeper gob to top gob. [any value]


map? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


max value1 value2

Returns the greater of the two values. [native!]

value1 -- [scalar! date! series!]
value2 -- [scalar! date! series!]


maximum value1 value2

Returns the greater of the two values. [native!]

value1 -- [scalar! date! series!]
value2 -- [scalar! date! series!]


maximum-of series

Finds the largest value in a series [function!]

series -- Series to search [series!]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


min value1 value2

Returns the lesser of the two values. [native!]

value1 -- [scalar! date! series!]
value2 -- [scalar! date! series!]


minimum value1 value2

Returns the lesser of the two values. [native!]

value1 -- [scalar! date! series!]
value2 -- [scalar! date! series!]


minimum-of series

Finds the smallest value in a series [function!]

series -- Series to search [series!]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


mkdir path

Creates the specified directory. No error if already exists. [function!]

path -- [file! url!]
/deep -- Create subdirectories too [any value]


mod a b

Compute a nonnegative remainder of A divided by B. [function!]

a -- [number! money! time!]
b -- Must be nonzero. [number! money! time!]


modified? target

Returns the last modified date of a file. [function!]

target -- [file! url!]


modify target field value

Change mode or control for port or file. [action!]

target -- [port! file!]
field -- [word! none!]
value -- [any value]


module spec body

Creates a module. [function!]

spec -- Name or spec block [block!]
body -- The body block of the module [block!]


module? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


modulo a b

Wrapper for MOD that handles errors like REMAINDER. Negligible values (compared to A and B) are rounded to zero. [function!]

a -- [number! money! time!]
b -- Absolute value will be used [number! money! time!]


mold value

Converts a value to a REBOL-readable string. [native!]

value -- The value to mold [any-type!]
/only -- For a block value, mold only its contents, no outer [] [any value]
/all -- Mold in serialized format [any value]
/flat -- No indentation [any value]


money? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


more 'file

Print file (shell shortcut function). [function!]

'file -- Accepts %file and also just words (as file names) [file! word! path! string!]


move source offset

Move a value or span of values in a series. [function!]

source -- Source series [series!]
offset -- Offset to move by, or index to move to [integer!]
/part -- Move part of a series [any value]
length -- The length of the part to move [integer!]
/skip -- Treat the series as records of fixed size [any value]
size -- Size of each record [integer!]
/to -- Move to an index relative to the head of the series [any value]


multiply value1 value2

Returns the first value multiplied by the second. [action!]

value1 -- [scalar!]
value2 -- [scalar!]


native? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


negate number

Changes the sign of a number. [action!]

number -- [number! pair! money! time! bitset!]


negative? number

Returns TRUE if the number is negative. [native!]

number -- [number! money! time! pair!]


new-line block value

Sets or clears the new-line marker within a block. (Modifies) [native!]

block -- Position in block to change marker [block!]
value -- Set TRUE for newline [any value]
/all -- Set/clear marker to end of block [any value]
/skip -- Set/clear marker periodically to the end of the block [any value]
size -- [integer!]


new-line? block

Returns the state of the new-line marker within a block. [native!]

block -- Position in block to check marker [block!]


next series

Returns the series at its next position. [action!]

series -- [series! gob! port!]


ninth value

Returns the ninth value of a series. [native!]

value -- [any value]


none? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


not value

Returns the logic complement. [native!]

value -- (Only FALSE and NONE return TRUE) [any value]


not-equal? value1 value2

Returns TRUE if the values are not equal. [native!]

value1 -- [any value]
value2 -- [any value]


not-equiv? value1 value2

Returns TRUE if the values are not equivalent. [native!]

value1 -- [any value]
value2 -- [any value]


now

Returns local date and time. [native!]

/year -- Returns year only [any value]
/month -- Returns month only [any value]
/day -- Returns day of the month only [any value]
/time -- Returns time only [any value]
/zone -- Returns time zone offset from UCT (GMT) only [any value]
/date -- Returns date only [any value]
/weekday -- Returns day of the week as integer (Monday is day 1) [any value]
/yearday -- Returns day of the year (Julian) [any value]
/precise -- Higher precision [any value]
/utc -- Universal time (no zone) [any value]


number? value

Return TRUE if value is a number (integer or decimal). [function!]

value -- [any-type!]


object blk

Defines a unique object. [function!]

blk -- Object words and values. [block!]


object? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


odd? number

Returns TRUE if the number is odd. [action!]

number -- [number! char! date! money! time! pair!]


offset-to-caret gob position

Returns the richtext block at the string position for an XY offset in the graphics object. [native!]

gob -- [gob!]
position -- [pair!]


offset? series1 series2

Returns the offset between two series positions. [function!]

series1 -- [series!]
series2 -- [series!]


op? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


open spec

Opens a port. Makes a new port from a specification, if necessary. [action!]

spec -- [port! file! url! block!]
/new -- Create new file - if it exists, reset it (truncate) [any value]
/read -- Open for read access [any value]
/write -- Open for write access [any value]
/seek -- Optimize for random access [any value]
/allow -- Specifies protection attributes [any value]
access -- [block!]


open? port

Returns TRUE if port is open. [action!]

port -- [port!]


or value1 value2

Returns the first value ORed with the second. [op!]

value1 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]
value2 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]


or~ value1 value2

Returns the first value ORed with the second. [action!]

value1 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]
value2 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]


pair? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


paren? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


parse input rules

Parses a string or block series according to grammar rules. [native!]

input -- Input series to parse [series!]
rules -- Rules to parse by (none = ",;") [block! string! char! none!]
/all -- For simple rules (not blocks) parse all chars including whitespace [any value]
/case -- Uses case-sensitive comparison [any value]


past? series

Returns TRUE if a series index is past its tail. [action!]

series -- [series! gob! port!]


path? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


pending

undocumented function. [function!]


percent? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


pick series index

Returns the value at the specified position in a series. [action!]

series -- [series! map! gob! pair! date! time! tuple! bitset! port!]
index -- Index offset, symbol, or other value to use as index [any value]


poke value index data

Returns value after changing its data at the given index. (Modifies) [action!]

value -- [series! port! map! gob! bitset!]
index -- Index offset, symbol, or other value to use as index [any value]
data -- New value [any value]


port? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


positive? number

Returns TRUE if the value is positive. [native!]

number -- [number! money! time! pair!]


power number exponent

Returns the first number raised to the second number. [action!]

number -- [number!]
exponent -- [number!]


prin value

Outputs a value with no line break. [native!]

value -- [any-type!]


print value

Outputs a value followed by a line break. [native!]

value -- The value to print [any-type!]


printf fmt val

Formatted print. [function!]

fmt -- Format [any value]
val -- Value or block of values [any value]


probe value

Debug print a molded value and returns that same value. [function!]

value -- [any-type!]


protect value

Protect a series or a variable from being modified. [native!]

value -- [word! series! bitset! map! object! module!]
/deep -- Protect all sub-series as well [any value]
/words -- Block is a list of words [any value]
/hide -- Hide variables (avoid binding and lookup) [any value]


protect-system-object

Protect the system object and selected sub-objects. [function!]


pwd

Returns the current directory path. [native!]


q

Stops evaluation and exits the interpreter. [native!]

/return -- Returns a value (to prior script or command shell) [any value]
value -- Note: use integers for command shell [any value]
/now -- Quit immediately [any value]


query target

Returns information about a port (also specified as file or URL). [action!]

target -- [port! file! url! block!]
/mode -- Get mode information [any value]
field -- NONE will return valid modes for port type [word! none!]


quit

Stops evaluation and exits the interpreter. [native!]

/return -- Returns a value (to prior script or command shell) [any value]
value -- Note: use integers for command shell [any value]
/now -- Quit immediately [any value]


quote :value

Returns the value passed to it without evaluation. [function!]

:value -- [any-type!]


random value

Returns a random value of the datatype or shuffles series (modifies). [action!]

value -- Maximum value of result [any value]
/seed -- Restart or randomize [any value]
/secure -- Returns a cryptographically secure random number [any value]
/only -- Pick a random value from a series [any value]


read source

Read from a file, URL, or other port. [action!]

source -- [port! file! url! block!]
/part -- Partial read a given number of units (source relative) [any value]
length -- [number!]
/seek -- Read from a specific position (source relative) [any value]
index -- [number!]
/string -- Convert UTF and line terminators to standard text string [any value]
/lines -- Convert to block of strings (implies /string) [any value]


rebcode? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


recycle

Recycles unused memory. [native!]

/off -- Disable auto-recycling [any value]
/on -- Enable auto-recycling [any value]
/ballast -- Trigger for auto-recycle (memory used) [any value]
size -- [integer!]
/torture -- Constant recycle (for internal debugging) [any value]


reduce value

Evaluates expressions and returns multiple results. [native!]

value -- [any value]
/no-set -- Keep set-words as-is. Do not set them. [any value]
/only -- Only evaluate words and paths, not functions [any value]
words -- Optional words that are not evaluated (keywords) [block! none!]
/into -- Output results into a block with no intermediate storage [any value]
out -- [any-block!]


refinement? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


reflect value field

Returns definition-related details about a value. [action!]

value -- [any-type!]
field -- Such as: spec, body, words, values, title [word!]


reform value

Forms a reduced block and returns a string. [function!]

value -- Value to reduce and form [any value]


rejoin block

Reduces and joins a block of values. [function!]

block -- Values to reduce and join [block!]


remainder value1 value2

Returns the remainder of first value divided by second. [action!]

value1 -- [scalar!]
value2 -- [scalar!]


remold value

Reduces and converts a value to a REBOL-readable string. [function!]

value -- The value to reduce and mold [any-type!]
/only -- For a block value, mold only its contents, no outer [] [any value]
/all -- Mold in serialized format [any value]
/flat -- No indentation [any value]


remove series

Removes value(s) from a series and returns after the remove. (Modifies) [action!]

series -- [series! gob! port! bitset! none!]
/part -- Removes to a given length or position [any value]
length -- [number! series! pair! char!]


remove-each 'word data body

Removes values for each block that returns true. Returns remove count. (Modifies) [native!]

'word -- Word or block of words to set each time (local) [word! block!]
data -- The series to traverse [series!]
body -- Block to evaluate (return TRUE to remove) [block!]


rename from to

Rename a file. [action!]

from -- [port! file! url! block!]
to -- [port! file! url! block!]


repeat 'word value body

Evaluates a block a number of times or over a series. [native!]

'word -- Word to set each time [word!]
value -- Maximum number or series to traverse [number! series! none!]
body -- Block to evaluate each time [block!]


repend series value

Appends a reduced value to a series and returns the series head. [function!]

series -- Series at point to insert [series! port! map! gob! object! bitset!]
value -- The value to insert [any-type!]
/part -- Limits to a given length or position [any value]
length -- [number! series! pair!]
/only -- Inserts a series as a series [any value]
/dup -- Duplicates the insert a specified number of times [any value]
count -- [number! pair!]


replace target search replace

Replaces the search value with the replace value within the target series. [function!]

target -- Series that is being modified [series!]
search -- Value to be replaced [any value]
replace -- Value to replace with (will be called each time if a function) [any value]
/all -- Replace all occurrences [any value]
/case -- Case-sensitive replacement [any value]
/tail -- Return target after the last replacement position [any value]


request-file

Asks user to select a file and returns full file path (or block of paths). [native!]

/save -- File save mode [any value]
/multi -- Allows multiple file selection, returned as a block [any value]
/file -- [any value]
name -- Default file name or directory [file!]
/title -- [any value]
text -- Window title [string!]
/filter -- [any value]
list -- Block of filters (filter-name filter) [block!]


resolve target source

Copy context by setting values in the target from those in the source. [native!]

target -- [any-object!]
source -- [any-object!]
/only -- [any value]
from -- Only specific words (exports) or new words in target (index to tail) [block! integer!]
/all -- Set all words, even those in the target that already have a value [any value]


return value

Returns a value from a function. [native!]

value -- [any-type!]
/redo -- Upon return, re-evaluate the returned result. (Used for DO) [any value]


reverse series

Reverses a series and similar types. (Modifies) [action!]

series -- [series! gob! tuple! pair!]
/part -- Limits to a given length or position [any value]
length -- [number! series!]


reword source values

Substitutes values into a template string, returning a new string. [function!]

source -- Template series (or string with escape sequences) [any-string!]
values -- Pairs of values and replacements (will be called if functions) [map! object! block!]
/escape -- Choose your own escape char (no escape for block templates) [any value]
char -- Use this escape char (default $) [char! any-string!]
/into -- Insert into a buffer instead (returns position after insert) [any value]
output -- The buffer series (modified) [any-string!]


rm port

Send port a delete request. [action!]

port -- [port! file! url! block!]


round n

Rounds a numeric value. Halves round up (away from zero) by default. [action!]

n -- The value to round [number! money! time!]
/to -- Return the nearest multiple of the scale parameter [any value]
scale -- Must be a non-zero value [number! money! time!]
/even -- Halves round toward even results [any value]
/down -- Round toward zero, ignoring discarded digits. (truncate) [any value]
/half-down -- Halves round toward zero [any value]
/floor -- Round in negative direction [any value]
/ceiling -- Round in positive direction [any value]
/half-ceiling -- Halves round in positive direction [any value]


same? value1 value2

Returns TRUE if the values are identical. [native!]

value1 -- [any value]
value2 -- [any value]


save where value

Saves a value or a block to a file, URL, or into a string. [function!]

where -- Where to save (suffix determines encoding) [file! url! binary! string! none!]
value -- Value to save [any value]
/header -- Save it with a header [any value]
header-data -- Header block, object, or take object from value [block! object! logic!]
/all -- Save in serialized format [any value]


say-browser

undocumented function. [function!]


scalar? value

Return TRUE if value is any type of scalar. [function!]

value -- [any-type!]


script? source

Checks file, url, or string for a valid script header. [function!]

source -- [file! url! binary! string!]


second value

Returns the second value of a series. [native!]

value -- [any value]


secure 'policy

Set security policies (use SECURE help for more information). [function!]

'policy -- Set single or multiple policies (or HELP) [word! lit-word! block! unset!]


select series value

Finds a value in the series and returns the value or series after it. [action!]

series -- [series! port! map! object! none!]
value -- [any-type!]
/part -- Limits the search to a given length or position [any value]
length -- [number! series! pair!]
/only -- Treats a series value as only a single value [any value]
/case -- Characters are case-sensitive [any value]
/any -- Enables the * and ? wildcards [any value]
/with -- Allows custom wildcards [any value]
wild -- Specifies alternates for * and ? [string!]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]
/last -- Backwards from end of series [any value]
/reverse -- Backwards from the current position [any value]


series? value

Return TRUE if value is any type of series. [function!]

value -- [any-type!]


set word value

Sets a word, path, block of words, or object to specified value(s). [native!]

word -- Word, block of words, path, or object to be set [any-word! any-path! block! object!]
value -- Value or block of values [any-type!]
/any -- Allows setting words to any value, including unset [any value]
/pad -- For objects, if block is too short, remaining words are set to NONE [any value]


set-path? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


set-scheme scheme

Low-level port scheme actor initialization. [native!]

scheme -- [object!]


set-word? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


seventh value

Returns the seventh value of a series. [native!]

value -- [any value]


shift value bits

Shifts an integer left or right by a number of bits. [native!]

value -- [integer!]
bits -- Positive for left shift, negative for right shift [integer!]
/logical -- Logical shift (sign bit ignored) [any value]


show gob

Display or update a graphical object or block of them. [native!]

gob -- [gob! block! none!]


sign? number

Returns sign of number as 1, 0, or -1 (to use as multiplier). [function!]

number -- [number! money! time!]


sine value

Returns the trigonometric sine. [native!]

value -- In degrees by default [number!]
/radians -- Value is specified in radians [any value]


single? series

Returns TRUE if the series length is 1. [function!]

series -- [series! port! map! tuple! bitset! object! gob! struct! any-word!]


sixth value

Returns the sixth value of a series. [native!]

value -- [any value]


size-text gob

Returns the size of text rendered by a graphics object. [native!]

gob -- [gob!]


size? target

Returns the size of a file. [function!]

target -- [file! url!]


skip series offset

Returns the series forward or backward from the current position. [action!]

series -- [series! gob! port!]
offset -- [number! logic! pair!]


sort series

Sorts a series. (Modifies) [action!]

series -- [series!]
/case -- Case sensitive sort [any value]
/skip -- Treat the series as records of fixed size [any value]
size -- Size of each record [integer!]
/compare -- Comparator offset, block or function [any value]
comparator -- [integer! block! any-function!]
/part -- Sort only part of a series [any value]
length -- Length of series to sort [number! series!]
/all -- Compare all fields [any value]
/reverse -- Reverse sort order [any value]


source 'word

Prints the source code for a word. [function!]

'word -- [word! path!]


spec-of value

Returns a copy of the spec of a function or module [function!]

value -- [any value]


speed?

Ballpark speed benchmark. [function!]


split series dlm

Split a series into pieces; fixed or variable size, fixed number, or at delimiters [function!]

series -- The series to split [series!]
dlm -- Split size, delimiter(s), or rule(s). [block! integer! char! bitset! any-string!]
/into -- If dlm is an integer, split into n pieces, rather than pieces of length n. [any value]


split-path target

Splits and returns directory path and file as a block. [function!]

target -- [file! url!]


square-root value

Returns the square root of a number. [native!]

value -- [number!]


stack offset

Returns stack backtrace or other values. [native!]

offset -- Relative backward offset [integer!]
/block -- Block evaluation position [any value]
/word -- Function or object name, if known [any value]
/func -- Function value [any value]
/args -- Block of args (may be modified) [any value]
/size -- Current stack size (in value units) [any value]
/depth -- Stack depth (frames) [any value]
/limit -- Stack bounds (auto expanding) [any value]


stats

Provides status and statistic information about the interpreter. [native!]

/show -- Print formatted results to console [any value]
/profile -- Returns profiler object [any value]
/timer -- Returns high resolution timer (nanoseconds) [any value]
/evals -- Returns number of values evaluated [any value]


strict-equal? value1 value2

Returns TRUE if the values are equal and of the same datatype. [native!]

value1 -- [any value]
value2 -- [any value]


strict-not-equal? value1 value2

Returns TRUE if the values are not equal or not of the same datatype. [native!]

value1 -- [any value]
value2 -- [any value]


string? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


struct? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


subtract value1 value2

Returns the second value subtracted from the first. [action!]

value1 -- [scalar! date!]
value2 -- [scalar! date!]


suffix? path

Return the file suffix of a filename or url. Else, NONE. [function!]

path -- [file! url! string!]


swap series1 series2

Swaps elements of a series. (Modifies) [action!]

series1 -- [series! gob!]
series2 -- [series! gob!]


switch value cases

Selects a choice and evaluates the block that follows it. [native!]

value -- Target value [any value]
cases -- Block of cases to check [block!]
/default -- [any value]
case -- Default case if no others found [any value]
/all -- Evaluate all matches (not just first one) [any value]


t

undocumented function. [function!]


tag? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


tail series

Returns the series at the position after the last value. [action!]

series -- [series! gob! port!]


tail? series

Returns TRUE if empty, or for series, if index is at or beyond its tail. [action!]

series -- [series! gob! port! bitset! map!]


take value

Copies and removes from series. (Modifies) [action!]

value -- [series! port! gob! none!]
/part -- Limits to a given length or position [any value]
length -- [number! series! pair!]
/deep -- Also copies series values within the block [any value]
/last -- Take it from the tail end [any value]


tangent value

Returns the trigonometric tangent. [native!]

value -- In degrees by default [number!]
/radians -- Value is specified in radians [any value]


task spec body

Creates a task. [function!]

spec -- Name or spec block [block!]
body -- The body block of the task [block!]


task? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


tenth value

Returns the tenth value of a series. [native!]

value -- [any value]


third value

Returns the third value of a series. [native!]

value -- [any value]


throw value

Throws control back to a previous catch. [native!]

value -- Value returned from catch [any-type!]
/name -- Throws to a named catch [any value]
word -- [word!]


time? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


title-of value

Returns a copy of the title of a function [function!]

value -- [any value]


to type spec

Converts to a specified datatype. [action!]

type -- The datatype or example value [any-type!]
spec -- The attributes of the new value [any-type!]


to-action value

Converts to action! value. [function!]

value -- [any value]


to-binary value

Converts to binary! value. [function!]

value -- [any value]


to-bitset value

Converts to bitset! value. [function!]

value -- [any value]


to-block value

Converts to block! value. [function!]

value -- [any value]


to-char value

Converts to char! value. [function!]

value -- [any value]


to-closure value

Converts to closure! value. [function!]

value -- [any value]


to-command value

Converts to command! value. [function!]

value -- [any value]


to-datatype value

Converts to datatype! value. [function!]

value -- [any value]


to-date value

Converts to date! value. [function!]

value -- [any value]


to-decimal value

Converts to decimal! value. [function!]

value -- [any value]


to-email value

Converts to email! value. [function!]

value -- [any value]


to-end value

Converts to end! value. [function!]

value -- [any value]


to-error value

Converts to error! value. [function!]

value -- [any value]


to-event value

Converts to event! value. [function!]

value -- [any value]


to-file value

Converts to file! value. [function!]

value -- [any value]


to-frame value

Converts to frame! value. [function!]

value -- [any value]


to-function value

Converts to function! value. [function!]

value -- [any value]


to-get-path value

Converts to get-path! value. [function!]

value -- [any value]


to-get-word value

Converts to get-word! value. [function!]

value -- [any value]


to-gob value

Converts to gob! value. [function!]

value -- [any value]


to-handle value

Converts to handle! value. [function!]

value -- [any value]


to-hex value

Converts a numeric value to a hex issue! datatype (with leading #). [native!]

value -- Value to be converted [integer! tuple!]
/size -- Specify number of hex digits in result [any value]
len -- [integer!]


to-image value

Converts to image! value. [function!]

value -- [any value]


to-integer value

Converts to integer! value. [function!]

value -- [any value]


to-issue value

Converts to issue! value. [function!]

value -- [any value]


to-library value

Converts to library! value. [function!]

value -- [any value]


to-lit-path value

Converts to lit-path! value. [function!]

value -- [any value]


to-lit-word value

Converts to lit-word! value. [function!]

value -- [any value]


to-local-file path

Converts a REBOL file path to the local system file path. [native!]

path -- [file! string!]
/full -- Prepends current dir for full path (for relative paths only) [any value]


to-logic value

Converts to logic! value. [function!]

value -- [any value]


to-map value

Converts to map! value. [function!]

value -- [any value]


to-module value

Converts to module! value. [function!]

value -- [any value]


to-money value

Converts to money! value. [function!]

value -- [any value]


to-native value

Converts to native! value. [function!]

value -- [any value]


to-none value

Converts to none! value. [function!]

value -- [any value]


to-object value

Converts to object! value. [function!]

value -- [any value]


to-op value

Converts to op! value. [function!]

value -- [any value]


to-pair value

Converts to pair! value. [function!]

value -- [any value]


to-paren value

Converts to paren! value. [function!]

value -- [any value]


to-path value

Converts to path! value. [function!]

value -- [any value]


to-percent value

Converts to percent! value. [function!]

value -- [any value]


to-port value

Converts to port! value. [function!]

value -- [any value]


to-rebcode value

Converts to rebcode! value. [function!]

value -- [any value]


to-rebol-file path

Converts a local system file path to a REBOL file path. [native!]

path -- [file! string!]


to-refinement value

Converts to refinement! value. [function!]

value -- [any value]


to-relative-file file

Returns the relative portion of a file if in a subdirectory, or the original if not. [function!]

file -- File to check (local if string!) [file! string!]
/no-copy -- Don't copy, just reference [any value]
/as-rebol -- Convert to REBOL-style filename if not [any value]
/as-local -- Convert to local-style filename if not [any value]


to-set-path value

Converts to set-path! value. [function!]

value -- [any value]


to-set-word value

Converts to set-word! value. [function!]

value -- [any value]


to-string value

Converts to string! value. [function!]

value -- [any value]


to-struct value

Converts to struct! value. [function!]

value -- [any value]


to-tag value

Converts to tag! value. [function!]

value -- [any value]


to-task value

Converts to task! value. [function!]

value -- [any value]


to-time value

Converts to time! value. [function!]

value -- [any value]


to-tuple value

Converts to tuple! value. [function!]

value -- [any value]


to-typeset value

Converts to typeset! value. [function!]

value -- [any value]


to-unset value

Converts to unset! value. [function!]

value -- [any value]


to-url value

Converts to url! value. [function!]

value -- [any value]


to-utype value

Converts to utype! value. [function!]

value -- [any value]


to-vector value

Converts to vector! value. [function!]

value -- [any value]


to-word value

Converts to word! value. [function!]

value -- [any value]


trace mode

Enables and disables evaluation tracing and backtrace. [native!]

mode -- [integer! logic!]
/back -- Set mode ON to enable or integer for lines to display [any value]
/function -- Traces functions only (less output) [any value]


transcode source

Translates UTF-8 binary source to values. Returns [value binary]. [native!]

source -- Must be Unicode UTF-8 encoded [binary!]
/next -- Translate next complete value (blocks as single value) [any value]
/only -- Translate only a single value (blocks disected) [any value]
/error -- Do not throw errors - return error object as value [any value]


trim series

Removes space from a string or NONE from a block or object. [action!]

series -- [series! object! error! module!]
/head -- Removes only from the head [any value]
/tail -- Removes only from the tail [any value]
/auto -- Auto indents lines relative to first line [any value]
/lines -- Removes all line breaks and extra spaces [any value]
/all -- Removes all whitespace [any value]
/with -- [any value]
str -- Same as /all, but removes characters in 'str' [char! string! binary! integer!]


true? val

Returns true if an expression can be used as true. [function!]

val -- [any value]


try block

Tries to DO a block and returns its value or an error. [native!]

block -- [block!]
/except -- On exception, evaluate this code block [any value]
code -- [block! any-function!]


tuple? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


type? value

Returns a value's datatype. [native!]

value -- [any-type!]
/word -- Returns the datatype as a word [any value]


types-of value

Returns a copy of the types of a function [function!]

value -- [any value]


typeset? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


unbind words

Unbinds words from context. (Modifies) [native!]

words -- A block of words or single word (returned) [block! any-word!]
/deep -- Include nested blocks [any value]


undirize path

Returns a copy of the path with any trailing "/" removed. [function!]

path -- [file! string! url!]


unhandle-events handler

Removes a handler from the view event system. [function!]

handler -- [object!]


union set1 set2

Returns the union of two data sets. [native!]

set1 -- first set [block! string! binary! bitset! typeset!]
set2 -- second set [block! string! binary! bitset! typeset!]
/case -- Use case-sensitive comparison [any value]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


unique set1

Returns the data set with duplicates removed. [native!]

set1 -- [block! string! binary! bitset! typeset!]
/case -- Use case-sensitive comparison (except bitsets) [any value]
/skip -- Treat the series as records of fixed size [any value]
size -- [integer!]


unless condition block

Evaluates the block if condition is not TRUE. [native!]

condition -- [any value]
block -- [block!]


unprotect value

Unprotect a series or a variable (it can again be modified). [native!]

value -- [word! series! bitset! map! object! module!]
/deep -- Protect all sub-series as well [any value]
/words -- Block is a list of words [any value]


unset word

Unsets the value of a word. [native!]

word -- Word or block of words [word! block!]


unset? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


until block

Evaluates a block until it is TRUE. [native!]

block -- [block!]


unview window

Closes a window view. [function!]

window -- Window face or GOB. 'all for all. none for last [object! gob! word! none!]


update port

Updates the port's external state to match internal state (normally after read/write). [action!]

port -- [port!]


upgrade

Check for newer versions (update REBOL). [function!]


uppercase string

Converts string of characters to uppercase. (Modifies) [native!]

string -- [any-string! char!]
/part -- Limits to a given length or position [any value]
length -- [number! any-string!]


url? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


usage

Prints command-line arguments. [function!]


use vars body

Defines words local to a block. [function!]

vars -- Local word(s) to the block [block! word!]
body -- Block to evaluate [block!]


utf? data

Returns UTF BOM (byte order marker) encoding: positive for BE, negative for LE. [native!]

data -- [binary!]


utype? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


value? value

Returns TRUE if the word has been set. [native!]

value -- [any value]


values-of value

Returns a copy of the values of a object or module [function!]

value -- [any value]


vector? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


view window

Displays a window view. [function!]

window -- Window gob, VID face, or VID layout block [gob! block! object!]
/options -- [any value]
opts -- Window options spec block [block!]
/no-wait -- Return immediately. Do not wait and process events. [any value]
/as-is -- Leave window as is. Do not add a parent gob. [any value]


wait value

Waits for a duration, port, or both. [native!]

value -- [number! time! port! block! none!]
/all -- Returns all in a block [any value]


wake-up port event

Awake and update a port with event. [native!]

port -- [port!]
event -- [event!]


what

Prints a list of known functions. [function!]

/args -- Show arguments not titles [any value]


what-dir

Returns the current directory path. [native!]


while cond-block body-block

While a condition block is TRUE, evaluates another block. [native!]

cond-block -- [block!]
body-block -- [block!]


why? 'err

Explain the last error in more detail. [function!]

'err -- Optional error value [word! path! error! none! unset!]


word? value

Returns TRUE if it is this type. [action!]

value -- [any-type!]


words-of value

Returns a copy of the words of a function, object, or module [function!]

value -- [any value]


write destination data

Writes to a file, URL, or other port - auto-converts text strings. [action!]

destination -- [port! file! url! block!]
data -- Data to write (non-binary converts to UTF-8) [binary! string! block!]
/part -- Partial write a given number of units [any value]
length -- [number!]
/seek -- Write at a specific position [any value]
index -- [number!]
/append -- Write data at end of file [any value]
/allow -- Specifies protection attributes [any value]
access -- [block!]
/lines -- Write each value in a block as a separate line [any value]


xor value1 value2

Returns the first value exclusive ORed with the second. [op!]

value1 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]
value2 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]


xor~ value1 value2

Returns the first value exclusive ORed with the second. [action!]

value1 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]
value2 -- [logic! integer! char! tuple! binary! bitset! typeset! datatype!]


zero? value

Returns TRUE if the value is zero (for its datatype). [native!]

value -- [any value]