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]
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]
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!]
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!]
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!]
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!]
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!]
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!]
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]
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!]
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!]
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]
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!]
Initialize the View subsystem. [function!]
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!]
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]
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!]
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]
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]
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!]
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 the system object and selected sub-objects. [function!]
Returns the current directory path. [native!]
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!]
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!]
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]
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]
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]
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]
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]
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!]
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!]
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!]
Prints a list of known functions. [function!]
/args -- Show arguments not titles [any value]
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]