The Io Reference Manual

Version 2008 01 20


Core        
Addon        
Block        
CFunction        
Call        
Collector        
Compiler        
Coroutine        
Date        
Debugger        
Directory        
Duration        
DynLib        
File        
Importer        
List        
Map        
Message        
MutableSequence        
Number        
Object        
Path        
Sandbox        
Scheduler        
Sequence        
State        
System        
Tag        
Token        
UnitTest        
WeakLink        
nil        
true        
AVCodec        
AVCodec        
Video        
AppleExtras        
AsyncRequest        
Blowfish        
Box        
CFFI        
CGI        
Curses        
DBI        
DBI        
DBIConn        
DBIRecord        
DBIResult        
DistributedObjects        
DOConnection        
DOProxy        
DOServer        
Flux        
Fnmatch        
Font        
GLFW        
Image        
LZO        
LZODecoder        
LZOEncoder        
LibSndFile        
Loki        
MD5        
ODE        
ODEBody        
ODEBox        
ODEContact        
ODEJoint        
ODEJointGroup        
ODEMass        
ODEPlane        
ODESimpleSpace        
ODEWorld        
Obsidian        
OpenGL        
Box        
GLApp        
GLScissor        
GLU        
GLUQuadric        
GLUT        
OpenGL        
Vector        
PortAudio        
AudioDevice        
AudioMixer        
Postgres        
Python        
QDBM        
Random        
Range        
Rational        
Regex        
Regex        
RegexMatch        
RegexMatches        
Sequence        
SGML        
SGMLElement        
SGMLParser        
SHA1        
SQLite        
SQLite3        
SampleRateConverter        
SkipDB        
SkipDB        
SkipDBCursor        
SkipDBM        
Socket        
DNS        
DNSQuery        
DNSResolver        
DNSServer        
Event        
EventManager        
Host        
IPAddress        
Object        
ReadEvent        
Sequence        
Server        
SignalEvent        
Socket        
TimerEvent        
URL        
WriteEvent        
SoundTouch        
Syslog        
SystemCall        
TagLib        
Thread        
TokyoCabinet        
TokyoCabinet        
TokyoCabinetCursor        
TokyoCabinetPrefixCursor        
UUID        
User        
Volcano        
Zlib        
ZlibDecoder        
ZlibEncoder        



AVCodec

Module: AVCodec
Category: Media

Description

An object for encoding and decoding audio and video streams.

When an input stream containing audio data is opened, the following slots will be set:

audioChannels
audioSampleRate
audioBitRate
audioDuration
audioFrameCount
When an input stream containing video data is opened, the following slots will be set:
framePeriod
videoDuration
videoFrameCount

Slot Index

Slots

audioInputBuffer

Returns the input buffer.
audioOutputBuffer

Returns the output buffer.
close

Closes the input file if it's open. Returns self.
codecName

Returns name of audio or video codec.
decode

Decodes the next chunk of input data. Output (if any) is placed in the outputBuffers. Returns self.
decodeCodecNames

Returns a list of strings with the names of the decode codecs.
didProcess

Called after the receiver processes some more of the input buffer.
encodeCodecNames

Returns a list of strings with the names of the encode codecs.
inputCoro

Returns coroutine currently writing to the receiver.
internalCoro

Returns coroutine used for the AVCodec to process data...
isAtEnd

Returns true if the stream is at it's end, false otherwise.
open

Opens the input file. Return self on success or raises an exception on error.
path

Returns path to file the receiver is reading or writing to.
setCodecName(aSeq)

Sets the codec name. Returns self. See: encodeCodecNames and decodeCodecNames
setInputCoro(aCoro)

Private method for setting inputCoro. Returns self.
setInternalCoro(aCoro)

Private method for setting internalCoro. Returns self.
setPath(aSeq)

Sets the path to file the receiver is reading or writing to. Returns self.
setStreamDestination(anObject)

Sets the streamDestination to anObject. The didProcess method will call:
if(streamDestination, streamDestination write(outputBuffer))
outputBuffer empty
streamDestination

Returns the streamDestination.
videoCodecName

Returns the name of the video codec.
willProcess

Called before the receiver will process more of the input buffer. If inputBuffer is empty, it pauses the receiver's coro.
write(aSequence)

Appends aSequence to the input buffer and resumes the receiver's coroutine in order to process it. The calling coroutine (inputCoroutine) will be scheduled to resume when didProcess is called.

Addon

Module: Core

Slot Index

Slots

addonFor(aName)

Returns the Addon with the given name if it can be found or nil otherwise.
addonPath

Implemented as Path with(rootPath, name).
addonProtos

Returns names of protos defined in the addon from the addon's protos file.
addons

Looks for all addons which can be found and returns them as a list of Addon objects. Caches the result the first time it is called.
appendSearchPath(aSequence)

Appends the argument to the list of search paths.
dependencies

Returns the list of dependencies from the addon's depends file.
dllName

Return the name of the dll for the addon.
dllPath

Returns the path to the dll for the addon. Note: not all addons have dlls - some just contain io files.
dllSuffix

Returns the platform specific dll suffix.
exists

Returns true if the addonPath exists, false otherwise.
hasAddonNamed(aName)

Returns true if the named addon can be found, false otherwise.
ioFiles

Return list of io File objects for the io files in the io folder of the addon.
load

Loads the addon.
loadAddonNamed(aName)

Loads the Addon with the given name if it can be found or nil otherwise.
loadDependencies

Loads the addon's dependencies. Called from the load method.
name

Returns the name of the addon.
platform

Implemented as method(System platform asLowercase).
rootPath

Returns the rootPath of the addon's folder.
searchPaths

Returns the list of paths to search for addons.
setName(aSequence)

Sets the name of the addon. Returns self.
setRootPath(aSequence)

Sets rootPath of the addon's folder. Returns self.
sourcePath

Returns the path of the source folder for the addon.

AppleSensors

Module: AppleExtras
Category: Other

Description

A singleton which on Apple computers can: Example use;
	
sensors = AppleSensors clone
value := sensors getRightLightSensor

Slot Index

Slots

getDisplayBrightness

Returns a number for the display brightness.
getKeyboardBrightness

Returns a number for the keyboard brightness.
getLeftLightSensor

Returns a number for the left ambient light sensor.
getRightLightSensor

Returns a number for the right ambient light sensor.
setDisplayBrightness(aNumber)

Sets the display brightness. Returns self.
setKeyboardBrightness(aNumber)

Sets the keyboard brightness. Returns self.
smsVector(aVector)

Sets aVector to the current x, y and z accelerometer values. Returns true on success and false on failure.

AsyncRequest

Module: AsyncRequest
Category: Filesystem

Description

Used for doing asynchronous file i/o. When this addon is loaded, it will override the File proto's readToBufferLength, readBufferOfLength and write methods to automatically use AsyncRequests.

Note: This addon is only needed for async file request - all socket ops are already asynchronous in Io.

Slot Index

Slots

cancel

Cancels the request. Returns nil on error or self otherwise.
copyBufferto(aSeq)

Copies the request buffer's data to aSeq. Returns nil on error or self otherwise.
descriptor

Returns the descriptor for the request.
error

Returns sequence containing the last error or nil otherwise.
isDone

Returns true if the request is done, false otherwise.
numberOfBytes

Returns the number of bytes associated with the request.
position

Returns a Number for the position of the descriptor.
read(aSeq, numberOfBytes)

Submits an async read request. Returns nil on error, self otherwise.
setDescriptor(aDescriptorNumber)

Sets the descriptor for the receiver. Returns self.
sync

Waits for the request to complete. Returns nil on error or self otherwise.
write(fileOffset, aSeq, bufferOffset, numberOfBytesToWrite)

Submits an async write request. Returns nil on error, self otherwise.

AudioDevice

Module: PortAudio
Category: Media

Description

The AudioDevice object can used to write audio data as if directly to the audio buffer.

Slot Index

Slots

asyncRead

Returns the audio read buffer.
asyncWrite(aBuffer)

Writes aBuffer to the audio output buffer and returns immediately.
close

Close the audio stream.
error

Returns an error string if an error has occured, Nil otherwise.
isActive

Returns self if the receiver is active, Nil otherwise.
needsData

Returns true if the receiver can read more data.
open

Open an audio output stream.
openForReadingAndWriting

Open audio output and input streams.
streamTime

Returns the audio stream time as a number.
write(aSeq) Writes aSeq to the inputBuffer and yields until the

receiver is ready for more input data. Returns self.
writeBufferIsEmpty

Returns the true if the audio buffer is empty, false otherwise.

AudioMixer

Module: PortAudio
Category: Media

Description

A minimal audio mixer.

Slot Index

Slots

appendSource

undocumented
isRunning

undocumented
process(sampleCount)

Internal method used for processing a chunk of the input sources. Returns self.
processedSamples

undocumented
removeSource

undocumented
setIsRunning

undocumented
setProcessedSamples

undocumented
setStreamDestination

undocumented
start

undocumented
start Start the mixer loop processing 1/64th of a second chunks

by calling process(22050) in a loop. Will not return until stop is called. Returns self.
stop

Stops the mixer if it is running.
streamDestination

undocumented

Block

Module: Core
Category: Core

Description

Blocks are anonymous functions (messages with their own locals object). They are typically used to represent object methods.

Slot Index

Slots

Formatter

undocumented
argumentNames

Returns a List of strings containing the argument names of the receiver.
asSimpleString

Returns a short description of the receiver.
asString

Returns a full description of the receiver with decompiled code.
call(arg0, arg1, ...)

Activates the receiver with the provided arguments.
code

Returns a string containing the decompiled code of the receiver.
justSerialized(stream)

Write's the receivers code into the stream.
message

Returns the root message of the receiver.
passStops

Returns whether or not the receiver passes return/continue/break to caller.
performOn(anObject, optionalLocals, optionalMessage, optionalSlotContext)

Activates the receiver in the target context of anObject. Returns the result.
print

prints an Io source code representation of the block/method
println

undocumented
scope

Returns the scope used when the block is activated or Nil if the target of the message is the scope.
setArgumentNames(aListOfStrings)

Sets the receiver's argument names to those specified in aListOfStrings. Returns self.
setCode(aString)

Set's the reciever's message to a compiled version of aString. Returns self
setMessage(aMessage)

Sets the root message of the receiver to aMessage.
setPassStops(aBool)

Sets whether the receiver passes return/continue/break to caller.
setScope(anObjectOrNil)

If argument is an object, when the block is activated, it will set the proto and self slots of it's locals to the specified object. If Nil, it will set them to the target of the message.

Blowfish

Module: Blowfish
Category: Encryption

Description

The Blowfish object can be used to do encryption and decryption using the blowfish algorithm. Example use;
	
bf = Blowfish clone
bf setKey("secret")
bf beginProcessing
bf inputBuffer appendSeq("this is a message")
bf process
bf endProcess
bf outputBuffer // this contains the encrypted data

Slot Index

Slots

beginProcessing

Sets the key from the key slot and initializes the cipher.
decrypt

undocumented
encrypt

undocumented
endProcessing

Finish processing remaining bytes of inputBuffer.
inputBuffer

undocumented
key

undocumented
outputBuffer

undocumented
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is empties except for the spare bytes at the end which don't fit into a cipher block.
setInputBuffer

undocumented
setIsEncrypting(aBool)

If aBool is true, encrypting mode is on, otherwise, decrypting mode is on.
setKey

undocumented
setOutputBuffer

undocumented

Box

Module: OpenGL
Category: Math

Description

A primitive for fast operations on rectangles.

Slot Index

Slots

Union(aBox)

Returns a new box containing the 2d union of the receiver and aBox.
asString

undocumented
containsPoint(aPoint)

Returns true if aPoint is within the receiver's bounds, false otherwise.
copy(aBox)

Copies the values of aBox to the receiver.
depth

Same as; size z
height

Same as; size y
intersectsBox(aBox)

Returns true if aBox is within the receiver's bounds, false otherwise.
origin

Returns the point object for the origin of the box.
print

Prints a string representation of the receiver to the standard output.
resizeBy

undocumented
serialized

undocumented
set(origin, size)

Copies the values in origin and size to set the box's origin and size.
setOrigin(aPoint)

Copies the values in aPoint to the box's origin point.
setSize(aPoint)

Copies the values in aPoint to the box's size point.
size

Returns the point object for the size of the box.
width

Same as; size x

CFFI

Module: CFFI
Category: binding

Slot Index

Slots


CFunction

Module: Core
Category: Core

Description

A container for a pointer to a C function binding. CFunction's can only be defined from the C side and act like blocks in that when placed in a slot, are called when the slot is activated. The for, if, while and clone methods of the Lobby are examples of CFunctions. CFunctions are useful for implementing methods that require the speed of C or binding to a C library.

Slot Index

Slots

==(anObject)

Returns self if the argument is a CFunction with the same internal C function pointer.
asSimpleString

Returns the CFunction name.
asString

Same as asSimpleString.
id

Returns a number containing a unique id for the receiver's internal C function.
name

Returns the CFunction name in the form CFunction_Pointer.")
performOn(target, blockLocals, optionalMessage, optionalContext)

Activates the CFunctions with the supplied settings.
type

Returns "Cfunction".
typeName

Returns the owning type of the CFunction or nil if the CFunction can be called on any object.
uniqueName

Returns the name given to the CFunction.

CGI

Module: CGI
Category: Networking

Description

CGI supports accessing CGI parameters passed in environment variable or standard input by a web servers like Apache.Example use:
#!./ioServer

cgi = CGI clone

redirect = cgi getParameters at("redirurl")
if (redirect and redirect != "",
	redirect clipAfterStartOfSeq("\r")
	redirect clipAfterStartOfSeq("\n")
	cgi redirect(redirect)
	System exit(0)
 )

cgi header("Content-type", "text/html")

cgi write("<html><head><title>test</title><body>")
cgi write("GET Parameters:")
cgi getParameters foreach(k, v,
	cgi write(k .. " = " .. v .. ","))
)

cgi write("POST Parameters:")
cgi postParameters foreach(k, v,
	cgi write(k .. " = " .. v .. ","))
)

cgi write("COOKIES:")
cgi cookies foreach(k, v,
	cgi write(k .. " = " .. v .. ",")
)

Slot Index

Slots

contentLength

CONTENT_LENGTH from web server - Size of POST Data
contentType

CONTENT_TYPE from web server
cookies

Returns a Map of cookies provided by the client
decodeUrlParam(aString)

Returns a URL decoded version of aString.
encodeUrlParam(aString)

Returns a URL encoded version of aString.
getParameters

Parses the QUERY_STRING environment variable and returns a Map containing key/value query value pairs. For testing, a QUERY_STRING can be passed to standard in, one line will be read
header(name, value, sendMultiple)

Add a header to the output, may only be called before write() is called. One of each header will be send unless sendMultiple is true
httpHeader(name)

Fetch a header supplied by the client, such as 'referer'
isInWebScript

Checks to see if this is being called within a CGI request or from the command-line (testing). Simply checks for System getEnvironmentVariable("GATEWAY_INTERFACE")
mapPutOrAppendAsList

undocumented
maxPostSize

Maximum size in bytes, to process from user submitted data. Data greater than this will result in a nil postData slot
maxPostSizeExceeded

Returns true if the POST data exceeds a set maxPostSize
newLinesToBr

undocumented
parse

undocumented
parseString

undocumented
pathInfo

PATH_INFO from web server
pathTranslated

PATH_TRANSLATED from web server
postData

The raw post data sent to the script. Only set if getEnvironmentVariable("REQUEST_METHOD") asLowercase == "post".
postParameters

Parses the POST data, multipart and urlencoded. Returns a map of submitted variables. For uploaded files, an Object is returned with these slots:
fileName
content (raw content of file as Sequence)
contentType
contentEncoding
size (in characters/bytes)
asString (pretty string of name, type, size)
queryString

QUERY_STRING from web server
redirect(url)

Send a location: and redirect the user. May only be called before write() is called. It is left to the caller to stop any further processing.")
remoteAddress

REMOTE_ADDR from web server - User's IP
remoteHost

REMOTE_HOST from web server - User's host (often blank)
requestMethod

GET, POST, PUT, etc
requestParameter(name)

Lazy developer's helper funtion. Retrieves a value from GET or POST, POST first
scriptName

SCRIPT_NAME from web server
sendHeaders

undocumented
setCookie(name, value, expiresDate, domain, path, secureBool)

Sets a cookie, keep in mind this will not be available in cookies() until they next visit the site. Parameters other than name and value are optional.
setMaxPostSize

undocumented
status(statusCode)

Numeric status code to send to the client. Normally, the server will figure this out on its own, but this allows handling 404s and such.
urlChar2Code

undocumented
urlCode2Char

undocumented
write(string, [string...])

Send content for the body of the response

Call

Module: Core

Description

Call stores slots related to activation.

Slot Index

Slots

activated

Returns the activated value.
argAt(argNumber)

Returns the message's argNumber arg. Shorthand for same as call message argAt(argNumber).
argCount

Returns the number of arguments for the call. Same as call message argCount.
coroutine

Returns the coroutine in which the message was sent.
delegateTo(target, altSender)

Sends the call's message to target (and relays it's stop status). The sender is set to altSender, if it is supplied. Returns the result of the message.
delegateToMethod(target, methodName)

Sends the call's message to target via the method specified by methodName. Returns the result of the message.
description

Returns a description of the receiver as a String.
evalArgAt(argNumber)

Evaluates the specified argument of the Call's message in the context of it's sender.
evalArgs

Returns a list containing the call message arguments evaluated in the context of the sender.
hasArgs

Returns true if the call was passed arguments.
message

Returns the message value.
relayStopStatus

undocumented
resetStopStatus

undocumented
sender

Returns the sender value.
setStopStatus(aStatusObject)

Sets the stop status on the call.
slotContext

Returns the slotContext value.
stopStatus

Returns the stop status on the call. (description of stopStatus will be added once we decide whether or not to keep it)
target

Returns the target value.

Collector

Module: Core
Category: Core

Description

A singleton containing methods related to Io's garbage collector. Io currently uses a incremental, non-moving, generational collector based on the tri-color (black/gray/white) algorithm with a write-barrier.

Every N number of object allocs, the collector will walk some of the objects marked as gray, marking their connected white objects as gray and turning themselves black. Every M allocs, it will pause for a sweep where it makes sure all grays are marked black and io_frees all whites.

If the sweepsPerGeneration is set to zero, it will immediately mark all blacks as white again and mark the root objects as gray. Otherwise, it will wait until the sweepsPerGeneration count is reached to do this. By adjusting the allocsPerSweep and sweepsPerGeneration appropriately, the collector can be tuned efficiently for various usage cases. Generally, the more objects in your heap, the larger you'll want this number.

Slot Index

Slots

allObjects

Returns a List containing all objects known to the collector.
allocatedStep

Return the allocation step value as a Number.
collect

Runs garbage collector. Returns the number of items collected.
marksPerAlloc

Return the number of allocations per collector mark pass.
maxAllocatedBytes

Returns the maximum number of bytes allocated by the collector.
resetMaxAllocatedBytes

Resets maximum number of bytes allocated by the collector. Returns self.
setAllocatedStep(aNumber)

Sets the allocatedStep (can have a fractional component, but must be larger than 1). A collector sweep is forced when the number of allocated objects exceeds the allocatedSweepLevel. After a sweep, the allocatedSweepLevel is set to the allocated object count times the allocatedStep. Returns self.
setDebug(aBool)

Turns on/off printing of collector debugging messages. Returns self.
setMarksPerAlloc(aNumber)

Sets the number of incremental collector marks per object allocation (can be fractional). Returns self.
showStats

Prints the collector's stats to standard output.
timeUsed

Return the time used so far by the collector in seconds.

Compiler

Module: Core
Category: Core

Description

Contains methods related to the compiling code.

Slot Index

Slots

messageForString(aString, optionalLabelString)

Returns the compiled message object for aString.
messageForString2

undocumented
messageForTokens(aList)

Returns the compiled message object for the given token list.
tokensForString(aString)

Returns a list of token objects lexed from the input string.

Coroutine

Module: Core
Category: Core

Description

Object wrapper for an Io coroutine.

Slot Index

Slots

backTraceString

undocumented
callStack

undocumented
currentCoroutine

undocumented
debugWriteln

undocumented
exception

Returns the current exception or nil if there is none.
freeStack

undocumented
ignoredCoroutineMethodNames

undocumented
implementation

undocumented
inException

Set to true when processing an exception in the coroutine.
ioStack

Returns List of values on this coroutine's stack.
isCurrent

undocumented
isYielding

undocumented
label

A label slot useful for debugging purposes.
main

undocumented
parentCoroutine

Returns the parent coroutine this one was chained from or nil if it wasn't chained. When a Coroutine ends, it will attempt to resume it's parent.
pause

undocumented
pauseCurrentAndResumeSelf

undocumented
raiseException

undocumented
result

The result set when the coroutine ends.
resume

undocumented
resumeLater

undocumented
resumeParentCoroutine

undocumented
run

undocumented
runLocals

The locals object in whose context the coroutine will send it's run message.
runMessage

The message to send to the runTarget when the coroutine starts.
runTarget

The object which the coroutine will send a message to when it starts.
setErrorDescription

undocumented
setException

undocumented
setInException

undocumented
setLabel

undocumented
setMessageDebugging(aBoolean)

Turns on message level debugging for this coro. When on, this coro will send a vmWillSendMessage message to the Debugger object before each message send and pause itself. See the Debugger object documentation for more information.
setParentCoroutine

undocumented
setResult

undocumented
setRunLocals

undocumented
setRunMessage

undocumented
setRunTarget

undocumented
setStackSize

undocumented
setYieldingCoros

undocumented
showStack

undocumented
showYielding

undocumented
stackSize

Stack size allocated for each new coroutine. Coroutines will automatically chain themselves as need if more stack space is required.
typeId

undocumented
yield

undocumented
yieldCurrentAndResumeSelf

undocumented
yieldingCoros

Reference to Scheduler yieldingCoros.

Curses

Module: Curses
Category: Server
Credits: Original version by Edwin Zacharias. getCh method by Scott Dunlop.

Description

Curses allows writing and reading at arbitrary positions on the terminal. You have to call init to set the terminal to curses mode and end to end curses mode. The terminal is not updated until refresh is called. It is a bad idea to use the standard io's read and write methods when the terminal is in curses mode. The Curses primitive was written by Edwin Zacharias.

Here's an example that prints Hello at column 5 and row 7;

Curses init
Curses move(5, 7) print(\"Hello\")
Curses refresh
Curses end

Slot Index

Slots

asyncReadCharacter

undocumented
begin

Sets the terminal to curses mode. This should be called before any other curses methods. Returns self.
cBreak(aString)

Disables line buffering and erase/kill character-processing. cBreak should be on for most purposes. Returns self.
clear

Clears the terminal. Nicer than erase. Returns self.
clearToEndOfLine

Clears the text from the cursor to the end of the line. Returns self.
delete(n)

Deletes n characters at the current position. Text to the right is shifted left. n is optional and defaults to 1. Returns self.
echo

Echoes user input to terminal. Returns self.
end

Ends curses mode. This should be called before standard io's read and write methods are used. Returs self.
get(n)

Returns n characters from the terminal. n is optional and defaults to 1.
getCh

Reads a single-byte character from the terminal associated with the current or specified window. Returns a Number containing the byte.
hasColors

Returns true if the terminal supports color, false otherwise.
height

Returns a Number containing the height of the current screen.
input(n)

Returns user input up to a return, or a maximun of n characters.
inputBuffer

undocumented
insert(aString)

Inserts the string at the current position on the terminal, pushing existing text to the right. Returns self.
move(x, y)

Moves the cursor to column y and row x on the terminal. (0, 0) is at the top-left of the terminal. Returns self.
noCBreak

Allows line buffering and erase/kill character-processing. cBreak should be on for most purposes. Returns self.
noEcho

Does not echo user input to terminal. Returns self.
nodelay(aBoolean)

Enables or disables block during read. If aNumber is zero, nodelay is set to be false, otherwise it is set to be true.
print(aString)

Prints the string to the current position on the terminal, overwriting existing text on the terminal. Returns self.
readLine

undocumented
refresh

Copies the current buffer to the screen. This must be called to make changes to the screen. Returns self.
setBackgroundBlack

Sets the background color to black.
setBackgroundBlue

Sets the background color to blue.
setBackgroundCyan

Sets the background color to cyan.
setBackgroundGreen

Sets the background color to green.
setBackgroundMagenta

Sets the background color to magenta.
setBackgroundRed

Sets the background color to red.
setBackgroundWhite

Sets the background color to white.
setBackgroundYellow

Sets the background color to yellow.
setForegroundBlack

Sets the foreground color to black.
setForegroundBlue

Sets the foreground color to blue.
setForegroundCyan

Sets the foreground color to cyan.
setForegroundGreen

Sets the foreground color to green.
setForegroundMagenta

Sets the foreground color to magenta.
setForegroundRed

Sets the foreground color to red.
setForegroundWhite

Sets the foreground color to white.
setForegroundYellow

Sets the foreground color to yellow.
width

Returns a Number containing the width of the current screen.
write

undocumented
writeCharacter(aCharacter)

Prints the aCharacter to the current position on the terminal, overwriting existing text on the terminal. Returns self.
x

Returns the cursor x position.
y

Returns the cursor y position.

DBI

Module: DBI

Slot Index

Slots

drivers

Get a list of drivers and it's associated information:
  1. name
  2. description
  3. filename
  4. version
  5. date compiled
  6. maintainer
  7. url
initWithDriversPath

Initialize the DBI environment with the specified libdbi driver path.
version

Return string version of libdbi being used.
with(driverName)

Get a new connection with the given driver.

DBIConn

Module: DBI
Category: Databases

Description

An object that represents a DBI Connection.

Slot Index

Slots

close

Close the connection to the database.
connect

Connect to the database server.
driver

Return database driver name.
execute(sql_query)

Perform a database query that expects no results. Returns the number of rows affected.
option(key)

Retrieve an option value for the connection.
optionClear(key)

Clear a specific option associated with the connection.
optionPut(key,value)

Add an option key, value pair to the connection.
options

Retrieve an option list of the connection.
optionsClear

Clear all options associated with the connection
ping

Ping the database to see if it's alive. Will return true if it is, otherwise false.
query(sql_query)

Perform a database query returning a DBIResult object.
queryOne([object], sql)

Perform a query and return the first result. If [object] is supplied, the object is populated with the contents of the result, the result is marked done and the object is returned.
quote(value)

Quote a string value according to the database server's specifications.
sequenceLast([name])

Return the last inserted sequence value.
sequenceNext([name])

Return the next sequence that will be used during an INSERT query.

DBIRecord

Module: DBI
Category: Databases

Description

A DBI Record. When utilizing `foreach' or `populate' methods of a DBIResult object, you can pass an optional Object cloned from DBIRecord. This object will be populated with the row contents making it possible to write objects that represent your SQL results. A simple example would be:
Person := DBIRecord clone do (fullName := method(firstName.." "..lastName))
q := conn query("SELECT id, firstName, lastName FROM people")
q foreach(Person, p, writeln("Name = ", p fullName))
As you can see, fullName was not in the SQL query, however, a dynamic method in your Person class. DBIRecord in and of itself provides no real functionality. It simply acts as an Object and stores the values from the SQL query into a Map. You can access the field information:
o := r populate(Person)
o firstName            // would retrieve the firstName value of the SQL query
o setFirstName("John") // would update the object's firstName value to be John
Do not confuse the above example as updating the actual database. The call to setFirstName only updates the objects representation of firstName.

Slot Index

Slots

forward

Private method that implements getting and setting values.
with(aMap)

Returns a new DBIRecord instance for the given value map.

DBIResult

Module: DBI
Category: Databases

Description

A DBI Result created by a call to DBIConn query.

Slot Index

Slots

at(index_or_name)

Returns the contents of the given field. The parameter can be a field index or a field name.
done

Close and free the result. This must be called on each result. Failure to do so will cause memory leaks and open queries with the database server.
fields

Returns a list of field names in the result.
first

Move the cursor to the first record.
foreach([Object], value, message)

Loops over the records in the result starting at either the first result (if the cursor has never been moved) or it's current location if moved. i.e.
r := conn query("SELECT * FROM people")
r foreach(r, r at(1))
The above would start at the first row, however, you can move around in the result set and then foreach would pickup where you left off, for instance, say you wanted to skip the first three rows:
r := conn query("SELECT * FROM people")
r seek(4)
r foreach(r, r at (1))
The above would start at the record #4, not at the beginning. The optional Object parameter would cause a decendent of DBIRecord to be populate instead of the index being set. This allows for advanced functionality. Please see `DBIRecord' for further information and an example.
last

Move the cursor to the last record.
next

Move the cursor to the next record.
populate(object)

Populates a decendent of DBIRecord with the current record's contents. See `DBIRecord' for further explanation and an example.
position

Return the current row's position (or index).
previous

Move the cursor to the previous record.
seek(row_number)

Move the cursor to the nth record.
size

Returns the number of rows available.

DNS

Module: Socket
Category: Networking

Slot Index

Slots

dnsQueryPacketForHostName(hostNameSeq)

Assembles a DNS query packet for the given host name and returns it in a Sequence.
hostNameAndIPforDNSResponsePacket(dnsResponsePacketSeq)

Dissasembles the given dnsResponsePacketSeq and returns a list object containing the hostName and IP or an error string on error.
localNameServersIPs

Returns a list of local name server IPs as a list of Sequences. Works on OSX, Unix, Windows.

DNSQuery

Module: Socket
Category: Networking

Description

An object representing an individual DNS query.

Slot Index

Slots

addCoro(aCoro)

Private method that adds a coro to coros.
coros

List of coroutines paused waiting for this query. These coros will be resumed when the query completes.
hostName

The host name which the query will request an IP for.
resumeCoros

Resumes all the paused coros. Should this use resumeLater instead?
setHostName(aSeq)

Sets the host name for the query.
waitOn

Pauses the calling coroutine until the query is completed.

DNSResolver

Module: Socket

Description

With the DNSResolver you can set the DNS servers to be used for DNS lookups. Example;
DNSResolver addDNSServerIp("128.105.2.10")
ipForYahoo := DNSResolver ipForHostName("yahoo.com")

Slot Index

Slots

addDNSServerIp(ipString)

Adds a new DNSServer for the specified IP.
cache

Returns Map containing lookup cache.
dnsServers

Returns list of DNSServer objects used for lookups.
emptyCache

Empties the lookup cache. Returns self.
ipForHostName(hostName)

Returns a String containing the IP for the hostName or an error if hostName could not be resolved.
queries

Returns list of active DNSQuery objects.
setupServerListIfNeeded

Private method that gets local name server IPs and sets up dnsServers list. Returns self.

DNSServer

Module: Socket
Category: Networking

Description

An object representing a DNSServer which DNS requests can be sent to.

Slot Index

Slots

host

The host name (usually an IP) for the DNSServer.
ipForHostName(hostName, timeout)

Sends a request to the DNS server, waits for a response and returns it. Will try 3 times if there are timeouts. Returns the IP (as a Sequence) if successful, raises an exception otherwise.
setHost(aSeq)

Sets the host name for the DNSServer.

DOConnection

Module: DistributedObjects

Description

The DOConnection object is usefull for communicating with remote servers in a way that makes it look just like the sending of local messages. Proxies are automatically created on either side for passed objects, with the exception of strings and numbers, which are passed by value. Example:
con := DOConnection clone setHost("127.0.0.1") setPort(8456) connect
result := con serverObject test(1)
writeln(result)
r := result at(0)
writeln(r)
r := result at(1)
writeln(r)
Implementation Notes:

The format of the Distributed Objects message is a list of NullCharacter terminated strings in one of these two formats:

Send message format:

s NullCharacter targetId NullCharacter messageName NullCharacter argCount NullCharacter argType NullCharacter argValue NullCharacter (next arg type and value, etc)
Reply message format:
r NullCharacter argType NullCharacter argvalue NullCharacter
If the argument is not a String, Number or nil then: If it is local to the sender, the type is RemoteObject. If it is a proxy to a remote object, the type is LocalObject. This isn't optimized yet.

Slot Index

Slots

NullCharacter

undocumented
ShowMessage

undocumented
close

Close the connection, if it is open. Returns self.
connect

Connect to the remote DOServer. Returns self or an Error, if one occurs.
decode

undocumented
encode

undocumented
handleSocket

undocumented
host

Returns the host ip.
localObjects

undocumented
performMessage

undocumented
port

Returns the port.
proxies

undocumented
readMessage

undocumented
sendMessage

undocumented
serverObject

A handle to the remote DOServer's root object. Returns result from server or an Error, if one occurs.
setHost(ipString)

Sets the host ip to connect to. Returns self or an Error, if one occurs.
setLocalObjects

undocumented
setPort(portNumber)

Sets the port number to connect to. Returns self.
setProxies

undocumented
setSocket

undocumented
socket

undocumented

DOProxy

Module: DistributedObjects
Category: Networking

Slot Index

Slots

connection

undocumented
forward

undocumented
proxyId

undocumented
setConnection

undocumented
setProxyId

undocumented

DOServer

Module: DistributedObjects
Category: Networking

Description

The DOServer object is usefull for fetching web pages and parsing DOServers. Example;
Test := Object clone
Test test := method(v, 
	write("got test '", v, "'\n")
	return List clone append(1)
)

doServer := DOServer clone
doServer setRootObject(Test clone)
doServer setPort(8456)
doServer start

Slot Index

Slots

handleSocket

undocumented
rootObject

undocumented
setRootObject(anObject)

Sets the root object which incoming messages will be send to.
socket

undocumented

Date

Module: Core
Category: Time
Credits: fromString method by Sean Perry")

Description

A container for a date and time information.

Slot Index

Slots

+(aDuration)

Return a new Date with the receiver's value plus an amount of time specified by aDuration object to the receiver.
+=(aDuration)

Add aDuration to the receiver. Returns self.
-(aDurationOrDate)

Return a new Date with the receiver's value minus an amount of time specified by aDuration to the receiver. Returns self.
-=(aDuration)

Subtract aDuration from the receiver. Returns self.
asAtomDate

Returns the date formatted as a valid atom date (rfc4287) in the system's timezone.
asNumber

Returns the date as seconds since 1970.
asString(optionalFormatString)

Returns a string representation of the receiver using the receivers format. If the optionalFormatString argument is present, the receiver's format is set to it first. Formatting is according to ANSI C date formating rules.

	
%a abbreviated weekday name (Sun, Mon, etc.)
%A full weekday name (Sunday, Monday, etc.)
%b abbreviated month name (Jan, Feb, etc.)
%B full month name (January, February, etc.)
%c full date and time string
%d day of the month as two-digit decimal integer (01-31)
%H hour as two-digit 24-hour clock decimal integer (00-23)
%I hour as two-digit 12-hour clock decimal integer (01-12)
%m month as a two-digit decimal integer (01-12)
%M minute as a two-digit decimal integer (00-59)
%p either "AM" or "PM"
%S second as a two-digit decimal integer (00-59)
%U number of week in the year as two-digit decimal integer (00-52)
with Sunday considered as first day of the week
%w weekday as one-digit decimal integer (0-6) with Sunday as 0
%W number of week in the year as two-digit decimal integer (00-52)
with Monday considered as first day of the week
%x full date string (no time); in the C locale, this is equivalent
to "%m/%d/%y".
%y year without century as two-digit decimal number (00-99)
%Y year with century as four-digit decimal number
%Z time zone name (e.g. EST);
null string if no time zone can be obtained
%% stands for '%' character in output string.
clock

Returns a number containing the number of seconds of processor time since the beginning of the program or -1 if unavailable.
copy(aDate)

Sets the receiver to be the same date as aDate. Returns self.
cpuSecondsToRun(expression)

Evaluates message and returns a Number whose value is the cpu seconds taken to do the evaluation.
day

Returns a number containing the day of the month of the receiver.
format

Returns the format string for the receiver. The default is "%Y-%m-%d %H:%M:%S %Z".
fromNumber(aNumber)

Sets the receiver to be aNumber seconds since 1970.
fromString(aString, formatString)

Sets the receiver to the date specified by aString as parsed according to the given formatString. See the Date asString method for formating rules. Returns self.
gmtOffset

Returns the system's timezone string. E.g., +1300 or -0500.
gmtOffsetSeconds

Returns the system's seconds east of UTC.
hour

Returns a number containing the hour of the day(0-23) of the receiver.
isDaylightSavingsTime

Returns self if Daylight Saving Time is in effect for the receiver, otherwise returns Nil.
isPast

Returns true if the receiver is a date in the past.
isToday

Returns true if the receiver's date is today's date.
isValidTime(hour, min, sec)

Returns self if the specified time is valid, otherwise returns Nil. A negative value will count back; i.e., a value of -5 for the hour, will count back 5 hours to return a value of 19. No adjustment is done for values above 24.
justSerialized

undocumented
minute

Returns a number containing the minute of the hour(0-59) of the receiver.
month

Returns a number containing the month(1-12) of the year of the receiver.
now

Sets the receiver to the current time. Returns self.
print

Prints the receiver. Returns self.
second

Returns a number containing the seconds of the minute(0-59) of the receiver. This number may contain fractions of seconds.
secondsSince(aDate)

Returns a number of seconds of between aDate and the receiver.
secondsSinceNow(aDate)

Returns the number of seconds since aDate.
secondsToRun(expression)

Evaluates message and returns a Number whose value is the number of seconds taken to do the evaluation
setDay(aNumber)

Sets the day of the receiver. Returns self.
setHour(aNumber)

Sets the hour of the receiver. Returns self.
setMinute(aNumber)

Sets the minute of the receiver. Returns self.
setMonth(aNumber)

Sets the month(1-12) of the receiver. Returns self.
setSecond(aNumber)

Sets the second of the receiver. Returns self.
setYear(aNumber)

Sets the year of the receiver.
today

Set the receiver to the current date, no time information is included. See `now' for the current date and time.
year

Returns a number containing the year of the receiver.
zone

Returns a string containing the system's time zone code.

Debugger

Module: Core
Category: Core

Description

Contains methods related to the IoVM debugger.

Slot Index

Slots

debuggerCoroutine

Returns the coroutine used for the debugger.")
description

To start debugging a coroutine, call Coroutine currentCoroutine setMessageDebugging(true) Then each message sent within that coroutine will cause the Debugger vmWillSendMessage slot to be activated and the Debugger slots: messageCoroutine, messageSelf, messageLocals, and message will be set with the values related to the current message send. You can override vmWillSendMessage to implement your own debugging mechanisms.
start

Starts the debugger.")
vmWillSendMessage

Override this method to implement your own debugging mechanisms. Default behavior is to print every message sent.")

Directory

Module: Core
Category: FileSystem
Credits: Cygwin code by Mike Austin. WIN32 code by Daniel Vollmer.

Description

The Directory object supports accessing filesystem directories. A note on paths; if a path begins with a "/" it's the root, if it beings with a "./" it's the launch path, if not specified, "./" is assumed.""")

Slot Index

Slots

accessibleAncestors

Returns a list of accessizble ancestor directories.
accessibleParents

Deprecated. Replaced by accessibleAncestors.
ancestorDirectories

Returns a list of ancestor directories.
at(aString)

Returns a File or Directory object matching the name specified by aString or Nil if no such file or directory exists.
create

Create the directory if it doesn't exist. Returns self on success (or if the directory already exists), nil on failure.
createFileNamed(name)

Depracted. Returns a new file object in the directory with the specified name.
createIfAbsent

Creates the directory folder (and any missing ancestor folders) if they don't exist. Returns self.
createSubdirectory(name)

Create a subdirectory with the specified name.
currentWorkingDirectory

Returns the current working directory path.
directoryNamed(aName)

Returns a Directory object for the specified file name whether or not it exists.
exists(optionalPath)

Returns true if the Directory path exists, and false otherwise. If optionalPath string is provided, it tests the existance of that path instead.
fileNamed(aName)

Returns a File object for the specified file name whether it exists or not.
fileNames

Returns a list of strings for the names of the files (no subdirectories) in the directory.
files

Returns a list of File objects for the files in the Directory (no directories).
filesWithExtension(aString)

Returns a list of File objects for the files in the Directory (no directories) with the specified file extension.
folderNamed(aName)

Deprecated. Replaced by directoryNamed().
folderNamedCreateIfAbsent(name)

Deprecated. Returns a new Directory object in the directory with the specified name.
folders

Returns a list of subdirectories for the receiver.
isAccessible

Returns true if the directory can be accessed, false otherwise.
items

Returns a list object containing File and Directory objects for the files and directories of the receiver's path.
moveTo(aPath)

Moves the directory to the specified path.
name

Returns the receiver's last path component.
parentDirectory

Returns the parent directory object or nil if there is no parent directory.
parents

Deprecated. Replaced by ancestorDirectories.
path

Returns the directory path. The default path is '.'.
remove

Removes the directory.
setCurrentWorkingDirectory(pathString)

Set's the current working directory path. Returns true on success or false on error.
setPath(aString)

Sets the directory path. Returns self.
size

Returns a Number containing the number of file and directory objects at the receiver's path.
with(aPath)

Returns a new instance with the provided path.

Duration

Module: Core
Category: Time

Description

A container for a duration of time.

Slot Index

Slots

+

Returns a new Duration of the two added.
+=(aDuration)

Add aDuration to the receiver. Returns self.
-

Returns a new Duration of the two subtracted.
-=(aDuration)

Subtract aDuration to the receiver. Returns self.
asNumber

Returns a number representation of the receiver. (where 1 is equal to one second)
asString(formatString)

Returns a string representation of the receiver. The formatString argument is optional. If present, the returned string will be formatted according to ANSI C date formating rules.

	
%y years without century as two-digit decimal number (00-99)
%Y year with century as four-digit decimal number

%d days
%H hour as two-digit 24-hour clock decimal integer (00-23)
%M minute as a two-digit decimal integer (00-59)
%S second as a two-digit decimal integer (00-59)

The default format is "%Y %d %H:%M:%S".
days

Returns a number containing the day of the month of the receiver.
fromNumber(aNumber)

Sets the receiver to the Duration specified by aNumber(same format number as returned by Duration asNumber). Returns self.
hours

Returns a number containing the hour of the day(0-23) of the receiver.
minutes

Returns a number containing the minute of the hour(0-59) of the receiver.
print

Prints the receiver. Returns self.
seconds

Returns a number containing the seconds of the minute(0-59) of the receiver. This number may contain fractions of seconds.
setDays(aNumber)

Sets the day of the receiver. Returns self.
setHours(aNumber)

Sets the hour of the receiver. Returns self.
setMinutes(aNumber)

Sets the minute of the receiver. Returns self.
setSeconds(aNumber)

Sets the second of the receiver. Return self.
setYears(aNumber)

Sets the year of the receiver. Returns self.
totalSeconds

Same as a asNumber.
years

Returns a number containing the year of the receiver.

DynLib

Module: Core
Category: Core

Description

A DLL Loader by Kentaro A. Kurahone.

Slot Index

Slots

call(functionName, <arg1>, <arg2>, ...)

Call's the dll function of the specified name with the arguments provided. Returns the a Number with the result value.
callPluginInit(functionName)

Call's the dll function of the specified name. Returns the result as a Number or raises an exception on error.
close

Closes the library. Returns self.
freeFuncName

Returns the io_free function name.
initFuncName

Returns the initialization function name.
isOpen

Returns true if the library is open, or false otherwise.
open

Opens the dynamic library and returns self or raises a DynLoad.open Error if there is an error.
path

Returns the path to the dynamic library.
setFreeFuncName(aString)

Sets the io_free function name. Returns self.
setInitFuncName(aString)

Sets the initialization function name for the dynamic library. Returns self.
setPath(aString)

Sets the path to the dynamic library. Returns self.
voidCall(functionName, <arg1>, <arg2>, ...)

Same as call but for functions with no return value. Returns nil.

Event

Module: Socket
Category: Networking

Description

Networking Event.

Slot Index

Slots

EV_READ

undocumented
EV_SIGNAL

undocumented
EV_TIMER

undocumented
EV_WRITE

undocumented
category

Networking
coro

undocumented
descriptorId

undocumented
eventType

undocumented
eventTypeName

undocumented
handleEvent(timeout)

isPending

undocumented
isValid

undocumented
setCoro

undocumented
setDescriptorId

undocumented
setEV_TIMER

undocumented
setEventType

undocumented
setTimeout

undocumented
timeout

undocumented
waitOn

undocumented
waitOnOrExcept(timeout)


EventManager

Module: Socket
Category: Networking

Description

Object for libevent (kqueue/epoll/poll/select) library. Usefull for getting notifications for descriptor (a socket or file) events. Events include read (the descriptor has unread data or timeout) and write (the descriptor wrote some data or timeout). Also, timer and signal events are supported.

Slot Index

Slots

activeEvents

undocumented
addEvent(event, descriptor, eventType, timeout)

coro

undocumented
hasActiveEvents

undocumented
isRunning

undocumented
listen

undocumented
listenUntilEvent

undocumented
realAddEvent

undocumented
removeEvent

undocumented
run

Runs the EventManger loop. Does not return.
setCoro

undocumented
setIsRunning

undocumented
setListenTimeout

undocumented

File

Module: Core
Category: FileSystem

Description

Encapsulates file i/o. Here's an example of opening a file, and reversing it's lines:
	
file = File clone openForUpdating("/tmp/test")
lines = file readLines reverse
file rewind
lines foreach(i, line, file write(line, "\n"))
file close

Slot Index

Slots

asBuffer

Opens the receiver in read only mode, reads the whole contents of the file into a buffer object, closes the file and returns the buffer.
at(aNumber)

Returns a Number containing the byte at the specified byte index or Nil if the index is out of bounds.
atPut(positionNumber, byteNumber)

Writes the byte value of byteNumber to the file position positionNumber. Returns self.
close

Closes the receiver if open, otherwise does nothing. Returns self.
contents

Returns contents of the file as a mutable Sequence of bytes.
copyToPath(destinationPath)

Copies the file to the specified path.
create

Creates an empty file at the file's path. Returns self on success, nil on failure.
descriptor

Returns the file's descriptor as a number.
exists

Returns true if the file specified by the receiver's path exists, false otherwise.
flush

Forces any buffered data to be written to disk. Returns self.
foreach(optionalIndex, value, message)

For each byte, set index to the index of the byte and value to the number containing the byte value and execute aMessage. Example usage:

	
aFile foreach(i, v, writeln("byte at ", i, " is ", v))
aFile foreach(v, writeln("byte ", v))
foreachLine(optionalLineNumber, line, message)

For each line, set index to the line number of the line and line and execute aMessage. Example usage:
	
aFile foreachLine(i, v, writeln("Line ", i, ": ", v))
aFile foreach(v, writeln("Line: ", v))
groupId

Returns a Number containing the group id associated with the file's path.
isAtEnd

Returns true if the file is at it's end. Otherwise returns false.
isDirectory

Returns true if the receiver's path points to a directory, false otherwise.
isLink

Returns true if the receiver's path points to a link, false otherwise.
isOpen

Returns self if the file is open. Otherwise returns Nil.
isPipe

Returns true if the receiver is a pipe, false otherwise.
isRegularFile

Returns true if the receiver's file descriptor is a regular file, false otherwise.
isSocket

Returns true if the receiver's file descriptor is a Socket, false otherwise.
isUserExecutable

Returns true if the receiver is user group executable, false otherwise.
lastAccessDate

Returns a Date object containing the last date and time the file was accessed.
lastDataChangeDate

Returns a Date object containing the last date and time the file's contents were changed.
lastInfoChangeDate

Returns a Date object containing the last date and time the file's meta info was changed.
lock

Creates a path.lock file if it does not exist. If it does exist, it waits for it be removed by the process that created it first. Returns self.
lockFile

Deprecated. The .lock file used for File locking.
mode

Returns the open mode of the file(either read, update or append).
moveTo(pathString)

Moves the file specified by the receiver's path to the new path pathString. Raises an File doesNotExist exception if the file does not exist or a File nameConflict exception if the file nameString already exists.
name

Returns the last path component of the file path.
open(optionalPathString)

Opens the file. Creates one if it does not exist. If the optionalPathString argument is provided, the path is set to it before opening. Returns self or raises an File exception on error.
openForAppending(optionalPathString)

Sets the file mode to append (writing to the end of the file) and calls open(optionalPathString).
openForReading(optionalPathString)

Sets the file mode to read (reading only) and calls open(optionalPathString).
openForUpdating(optionalPathString)

Sets the file mode to update (reading and writing) and calls open(optionalPathString). This will not delete the file if it already exists. Use the remove method first if you need to delete an existing file before opening a new one.
path

Returns the file path of the receiver.
popen

Open the file as a pipe. Return self.
position

Returns the current file pointer byte position as a Number.
positionAtEnd

Sets the file position pointer to the end of the file.
protectionMode

Returns a Number containing the protection mode associated with the file's path.
readBufferOfLength(aNumber)

Reads a Buffer of the specified length and returns it. Returns Nil if the end of the file has been reached.
readLine

Reads the next line of the file and returns it as a string without the return character. Returns Nil if the end of the file has been reached.
readLines

Returns list containing all lines in the file.
readStringOfLength(aNumber)

Reads a String of the specified length and returns it. Returns Nil if the end of the file has been reached.
readToBufferLength

undocumented
readToBufferOfLength(aBuffer, aNumber)

Reads at most aNumber number of items and appends them to aBuffer. Returns number of items read.
remove

Removes the file specified by the receiver's path. Raises an error if the file exists but is not removed. Returns self.
rewind

Sets the file position pointer to the beginning of the file.
setContents(aSeq)

Replaces the contents for the file with aSeq. Returns self.
setPath(aString)

Sets the file path of the receiver to pathString. The default path is an empty string. Returns self.
setPosition(aNumber)

Sets the file position pointer to the byte specified by aNumber. Returns self.
setStreamDestination

undocumented
size

Returns the file size in bytes.
standardError

Returns a new File whose stream is set to the standard error stream.
standardInput

Returns a new File whose stream is set to the standard input stream.
standardOutput

Returns a new File whose stream is set to the standard output stream.
startStreaming

undocumented
stat

Updates the receiver's meta info cache.
statSize

Returns the file's size in bytes as a Number.
streamDestination

undocumented
streamReadSize

undocumented
streamTo

undocumented
temporaryFile

Returns a new File object with an open temporary file. The file is automatically deleted when the returned File object is closed or garbage collected.
truncateToSize(numberOfBytes)

Trunctates the file's size to the numberOfBytes. Returns self.
userId

Returns a Number containing the user id associated with the file's path.
with(aPath)

Returns a new instance with the provided path.
write(aSequence1, aSequence2, ...)

Writes the arguments to the receiver file. Returns self.

Flux

Module: Flux

Description

AutoImporter for the Flux Io UI framework.

Slot Index

Slots

Views

undocumented
fluxPath

undocumented
fluxSource

undocumented
fluxViews

undocumented
loadAll

undocumented

Fnmatch

Module: Fnmatch
Category: RegularExpressions

Description

The fnmatch add on adds support for the unix fnmatch function. (See fnmatch man page for details). Note: not all options are supported on all platforms.

Slot Index

Slots

caseFoldOff

See caseFoldOn.
caseFoldOn

Ignore case distinctions in both the pattern and the string.
hasMatch

Returns true if a match is found, false otherwise.
leadingDirOff

See leadingDirOn.
leadingDirOn

Ignore rest after successful pattern matching.
matchFor(aString)

Returns self if aString matches the pattern, otherwise returns nil.
noEscapeOff

See noEscapeOn.
noEscapeOn

If not set, a backslash character (\) in pattern followed by any other character will match that second character in string. In particular, "\\" will match a backslash in string. If set, a backslash character will be treated as an ordinary character.
pathNameOff

See pathNameOn.
pathNameOn

If set, a slash (/) character in string will be explicitly matched by a slash in pattern; it will not be matched by either the asterisk (*) or question-mark (?) special characters, nor by a bracket ([]) expression. If not set, the slash character is treated as an ordinary character.
pattern

Returns the pattern string.
periodOff

"See periodOn.
periodOn

If set, a leading period in string will match a period in pattern; where the location of ``leading'' is indicated by the value of FNM_PATHNAME:
  • If FNM_PATHNAME is set, a period is ``leading'' if it is the first character in string or if it immediately follows a slash.
  • If FNM_PATHNAME is not set, a period is ``leading'' only if it is the first character of string.

If not set, no special restrictions are placed on matching a period.

setPattern(aString)

Sets the pattern string. Returns self.
setString(aString)

Sets the string to do matching on.
string

The string to do matching on.

Font

Module: Font
Category: Graphics

Description

The Font object can be used to load and render TypeTrype fonts. Example use;
	
// within a GLUT display callback...

timesFont = Font clone open(\"times.ttf\")
if (timesFont error, write(\"Error loading font: \", timesFont error, \"\n\"); return)
timesFont setPointSize(16)
glColor(0,0,0,1)
timesFont draw(\"This is a test.\")
Rendering fonts using OpenGL textures

Smaller fonts (those having a point size around 30 or smaller, depending on the font) will automatically be cached in and rendered from a texture. This technique is very fast and should support rendering speeds as fast (or faster than) those of typical desktop font rendering systems. Larger font sizes(due to texture memory constraints) will be rendered to a pixelmap when displayed. Thanks to Mike Austin for implementing the font texturing system.

Slot Index

Slots

drawCenteredString

undocumented
drawOffsetString

undocumented
drawString(aString, optionalStartIndex, optionalEndIndex)

Draws aString using the optional start and end indexes, if supplied. Returns self.

Note; Fonts are draw as RGBA pixel maps. These blending options are recommended:

	
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
error

Returns the current error string or nil if there is no error.
isTextured

Returns true if the font is being cached in and rendered from a texture, false otherwise.
open(optionalPath)

Opens the font. Sets path using optionalPath if supplied. Returns self.
path

Returns the Font path.
pixelHeight

Returns the height of the font measured in pixels.
pixelSize

Returns the font's pixelSize.
setPath(aString)

Sets the Font path. Returns self.
setPixelSize(aNumber)

Sets the size of the font in pixels. Returns self.
stringIndexAtWidth(aString, startIndex, width)

Returns the max index of the character in String (starting at startIndex) that fits within width.
widthOfCharacter(aNumber)

Returns the width of the character specified by aNumber in the receiver's font.
widthOfString(aString)

Returns a Number with the width that aString would render to with the receiver's current settings.

GLApp

Module: OpenGL
Category: Graphics

Slot Index

Slots

appDidInit

undocumented
appName

undocumented
backgroundColor

undocumented
didInit

undocumented
didReshape

undocumented
didToggleFullScreen

undocumented
display

undocumented
draw

undocumented
escapeKey

undocumented
height

undocumented
initBlending

undocumented
initEvents

undocumented
keyboard

undocumented
mouse

undocumented
reshape

undocumented
run

undocumented
runFullScreen

undocumented
setAppName

undocumented
setHeight

undocumented
setWidth

undocumented
special

undocumented
takeScreenShot

undocumented
timer

undocumented
toggleFullScreen

undocumented
width

undocumented

GLFW

Module: GLFW
Category: Graphics

Slot Index

Slots


GLScissor

Module: OpenGL
Category: Graphics

Slot Index

Slots

isOn

undocumented
isVisible

undocumented
off

undocumented
on

undocumented
pop

undocumented
push

undocumented
rect

undocumented
set

undocumented
setRect

undocumented
setViewRect

undocumented
sync

undocumented
unionWithScreenRect

undocumented
unionWithViewRect

undocumented

GLU

Module: OpenGL
Category: Graphics

Slot Index

GLU_AUTO_LOAD_MATRIX
GLU_BEGIN
GLU_CCW
GLU_CULLING
GLU_CW
GLU_DISPLAY_MODE
GLU_DOMAIN_DISTANCE
GLU_EDGE_FLAG
GLU_END
GLU_ERROR
GLU_EXTENSIONS
GLU_EXTERIOR
GLU_FALSE
GLU_FILL
GLU_FLAT
GLU_INSIDE
GLU_INTERIOR
GLU_INVALID_ENUM
GLU_INVALID_OPERATION
GLU_INVALID_VALUE
GLU_LINE
GLU_MAP1_TRIM_2
GLU_MAP1_TRIM_3
GLU_NONE
GLU_NURBS_BEGIN
GLU_NURBS_BEGIN_DATA
GLU_NURBS_BEGIN_DATA_EXT
GLU_NURBS_BEGIN_EXT
GLU_NURBS_COLOR
GLU_NURBS_COLOR_DATA
GLU_NURBS_COLOR_DATA_EXT
GLU_NURBS_COLOR_EXT
GLU_NURBS_END
GLU_NURBS_END_DATA
GLU_NURBS_END_DATA_EXT
GLU_NURBS_END_EXT
GLU_NURBS_ERROR
GLU_NURBS_ERROR1
GLU_NURBS_ERROR10
GLU_NURBS_ERROR11
GLU_NURBS_ERROR12
GLU_NURBS_ERROR13
GLU_NURBS_ERROR14
GLU_NURBS_ERROR15
GLU_NURBS_ERROR16
GLU_NURBS_ERROR17
GLU_NURBS_ERROR18
GLU_NURBS_ERROR19
GLU_NURBS_ERROR2
GLU_NURBS_ERROR20
GLU_NURBS_ERROR21
GLU_NURBS_ERROR22
GLU_NURBS_ERROR23
GLU_NURBS_ERROR24
GLU_NURBS_ERROR25
GLU_NURBS_ERROR26
GLU_NURBS_ERROR27
GLU_NURBS_ERROR28
GLU_NURBS_ERROR29
GLU_NURBS_ERROR3
GLU_NURBS_ERROR30
GLU_NURBS_ERROR31
GLU_NURBS_ERROR32
GLU_NURBS_ERROR33
GLU_NURBS_ERROR34
GLU_NURBS_ERROR35
GLU_NURBS_ERROR36
GLU_NURBS_ERROR37
GLU_NURBS_ERROR4
GLU_NURBS_ERROR5
GLU_NURBS_ERROR6
GLU_NURBS_ERROR7
GLU_NURBS_ERROR8
GLU_NURBS_ERROR9
GLU_NURBS_MODE
GLU_NURBS_MODE_EXT
GLU_NURBS_NORMAL
GLU_NURBS_NORMAL_DATA
GLU_NURBS_NORMAL_DATA_EXT
GLU_NURBS_NORMAL_EXT
GLU_NURBS_RENDERER
GLU_NURBS_RENDERER_EXT
GLU_NURBS_TESSELLATOR
GLU_NURBS_TESSELLATOR_EXT
GLU_NURBS_TEXTURE_COORD
GLU_NURBS_TEXTURE_COORD_DATA
GLU_NURBS_TEX_COORD_DATA_EXT
GLU_NURBS_TEX_COORD_EXT
GLU_NURBS_VERTEX
GLU_NURBS_VERTEX_DATA
GLU_NURBS_VERTEX_DATA_EXT
GLU_NURBS_VERTEX_EXT
GLU_OBJECT_PARAMETRIC_ERROR
GLU_OBJECT_PARAMETRIC_ERROR_EXT
GLU_OBJECT_PATH_LENGTH
GLU_OBJECT_PATH_LENGTH_EXT
GLU_OUTLINE_PATCH
GLU_OUTLINE_POLYGON
GLU_OUTSIDE
GLU_OUT_OF_MEMORY
GLU_PARAMETRIC_ERROR
GLU_PARAMETRIC_TOLERANCE
GLU_PATH_LENGTH
GLU_POINT
GLU_SAMPLING_METHOD
GLU_SAMPLING_TOLERANCE
GLU_SILHOUETTE
GLU_SMOOTH
GLU_TESS_BEGIN
GLU_TESS_BEGIN_DATA
GLU_TESS_BOUNDARY_ONLY
GLU_TESS_COMBINE
GLU_TESS_COMBINE_DATA
GLU_TESS_COORD_TOO_LARGE
GLU_TESS_EDGE_FLAG
GLU_TESS_EDGE_FLAG_DATA
GLU_TESS_END
GLU_TESS_END_DATA
GLU_TESS_ERROR
GLU_TESS_ERROR1
GLU_TESS_ERROR2
GLU_TESS_ERROR3
GLU_TESS_ERROR4
GLU_TESS_ERROR5
GLU_TESS_ERROR6
GLU_TESS_ERROR7
GLU_TESS_ERROR8
GLU_TESS_ERROR_DATA
GLU_TESS_MISSING_BEGIN_CONTOUR
GLU_TESS_MISSING_BEGIN_POLYGON
GLU_TESS_MISSING_END_CONTOUR
GLU_TESS_MISSING_END_POLYGON
GLU_TESS_NEED_COMBINE_CALLBACK
GLU_TESS_TOLERANCE
GLU_TESS_VERTEX
GLU_TESS_VERTEX_DATA
GLU_TESS_WINDING_ABS_GEQ_TWO
GLU_TESS_WINDING_NEGATIVE
GLU_TESS_WINDING_NONZERO
GLU_TESS_WINDING_ODD
GLU_TESS_WINDING_POSITIVE
GLU_TESS_WINDING_RULE
GLU_TRUE
GLU_UNKNOWN
GLU_U_STEP
GLU_VERSION
GLU_VERSION_1_1
GLU_VERSION_1_2
GLU_VERSION_1_3
GLU_VERTEX
GLU_V_STEP
clone
gluBuild1DMipmaps
gluBuild2DMipmaps
gluCylinder
gluDeleteQuadric
gluDisk
gluErrorString
gluGetString
gluLookAt
gluNewQuadric
gluOrtho2D
gluPartialDisk
gluPerspective
gluPickMatrix
gluProject
gluProjectOrigin
gluQuadricDrawStyle
gluQuadricNormals
gluQuadricOrientation
gluQuadricTexture
gluRoundedBox
gluRoundedBoxOutline
gluScaleImage()
gluSphere
gluUnProject
gluUnProjectOrigin

Slots

GLU_AUTO_LOAD_MATRIX

undocumented
GLU_BEGIN

undocumented
GLU_CCW

undocumented
GLU_CULLING

undocumented
GLU_CW

undocumented
GLU_DISPLAY_MODE

undocumented
GLU_DOMAIN_DISTANCE

undocumented
GLU_EDGE_FLAG

undocumented
GLU_END

undocumented
GLU_ERROR

undocumented
GLU_EXTENSIONS

undocumented
GLU_EXTERIOR

undocumented
GLU_FALSE

undocumented
GLU_FILL

undocumented
GLU_FLAT

undocumented
GLU_INSIDE

undocumented
GLU_INTERIOR

undocumented
GLU_INVALID_ENUM

undocumented
GLU_INVALID_OPERATION

undocumented
GLU_INVALID_VALUE

undocumented
GLU_LINE

undocumented
GLU_MAP1_TRIM_2

undocumented
GLU_MAP1_TRIM_3

undocumented
GLU_NONE

undocumented
GLU_NURBS_BEGIN

undocumented
GLU_NURBS_BEGIN_DATA

undocumented
GLU_NURBS_BEGIN_DATA_EXT

undocumented
GLU_NURBS_BEGIN_EXT

undocumented
GLU_NURBS_COLOR

undocumented
GLU_NURBS_COLOR_DATA

undocumented
GLU_NURBS_COLOR_DATA_EXT

undocumented
GLU_NURBS_COLOR_EXT

undocumented
GLU_NURBS_END

undocumented
GLU_NURBS_END_DATA

undocumented
GLU_NURBS_END_DATA_EXT

undocumented
GLU_NURBS_END_EXT

undocumented
GLU_NURBS_ERROR

undocumented
GLU_NURBS_ERROR1

undocumented
GLU_NURBS_ERROR10

undocumented
GLU_NURBS_ERROR11

undocumented
GLU_NURBS_ERROR12

undocumented
GLU_NURBS_ERROR13

undocumented
GLU_NURBS_ERROR14

undocumented
GLU_NURBS_ERROR15

undocumented
GLU_NURBS_ERROR16

undocumented
GLU_NURBS_ERROR17

undocumented
GLU_NURBS_ERROR18

undocumented
GLU_NURBS_ERROR19

undocumented
GLU_NURBS_ERROR2

undocumented
GLU_NURBS_ERROR20

undocumented
GLU_NURBS_ERROR21

undocumented
GLU_NURBS_ERROR22

undocumented
GLU_NURBS_ERROR23

undocumented
GLU_NURBS_ERROR24

undocumented
GLU_NURBS_ERROR25

undocumented
GLU_NURBS_ERROR26

undocumented
GLU_NURBS_ERROR27

undocumented
GLU_NURBS_ERROR28

undocumented
GLU_NURBS_ERROR29

undocumented
GLU_NURBS_ERROR3

undocumented
GLU_NURBS_ERROR30

undocumented
GLU_NURBS_ERROR31

undocumented
GLU_NURBS_ERROR32

undocumented
GLU_NURBS_ERROR33

undocumented
GLU_NURBS_ERROR34

undocumented
GLU_NURBS_ERROR35

undocumented
GLU_NURBS_ERROR36

undocumented
GLU_NURBS_ERROR37

undocumented
GLU_NURBS_ERROR4

undocumented
GLU_NURBS_ERROR5

undocumented
GLU_NURBS_ERROR6

undocumented
GLU_NURBS_ERROR7

undocumented
GLU_NURBS_ERROR8

undocumented
GLU_NURBS_ERROR9

undocumented
GLU_NURBS_MODE

undocumented
GLU_NURBS_MODE_EXT

undocumented
GLU_NURBS_NORMAL

undocumented
GLU_NURBS_NORMAL_DATA

undocumented
GLU_NURBS_NORMAL_DATA_EXT

undocumented
GLU_NURBS_NORMAL_EXT

undocumented
GLU_NURBS_RENDERER

undocumented
GLU_NURBS_RENDERER_EXT

undocumented
GLU_NURBS_TESSELLATOR

undocumented
GLU_NURBS_TESSELLATOR_EXT

undocumented
GLU_NURBS_TEXTURE_COORD

undocumented
GLU_NURBS_TEXTURE_COORD_DATA

undocumented
GLU_NURBS_TEX_COORD_DATA_EXT

undocumented
GLU_NURBS_TEX_COORD_EXT

undocumented
GLU_NURBS_VERTEX

undocumented
GLU_NURBS_VERTEX_DATA

undocumented
GLU_NURBS_VERTEX_DATA_EXT

undocumented
GLU_NURBS_VERTEX_EXT

undocumented
GLU_OBJECT_PARAMETRIC_ERROR

undocumented
GLU_OBJECT_PARAMETRIC_ERROR_EXT

undocumented
GLU_OBJECT_PATH_LENGTH

undocumented
GLU_OBJECT_PATH_LENGTH_EXT

undocumented
GLU_OUTLINE_PATCH

undocumented
GLU_OUTLINE_POLYGON

undocumented
GLU_OUTSIDE

undocumented
GLU_OUT_OF_MEMORY

undocumented
GLU_PARAMETRIC_ERROR

undocumented
GLU_PARAMETRIC_TOLERANCE

undocumented
GLU_PATH_LENGTH

undocumented
GLU_POINT

undocumented
GLU_SAMPLING_METHOD

undocumented
GLU_SAMPLING_TOLERANCE

undocumented
GLU_SILHOUETTE

undocumented
GLU_SMOOTH

undocumented
GLU_TESS_BEGIN

undocumented
GLU_TESS_BEGIN_DATA

undocumented
GLU_TESS_BOUNDARY_ONLY

undocumented
GLU_TESS_COMBINE

undocumented
GLU_TESS_COMBINE_DATA

undocumented
GLU_TESS_COORD_TOO_LARGE

undocumented
GLU_TESS_EDGE_FLAG

undocumented
GLU_TESS_EDGE_FLAG_DATA

undocumented
GLU_TESS_END

undocumented
GLU_TESS_END_DATA

undocumented
GLU_TESS_ERROR

undocumented
GLU_TESS_ERROR1

undocumented
GLU_TESS_ERROR2

undocumented
GLU_TESS_ERROR3

undocumented
GLU_TESS_ERROR4

undocumented
GLU_TESS_ERROR5

undocumented
GLU_TESS_ERROR6

undocumented
GLU_TESS_ERROR7

undocumented
GLU_TESS_ERROR8

undocumented
GLU_TESS_ERROR_DATA

undocumented
GLU_TESS_MISSING_BEGIN_CONTOUR

undocumented
GLU_TESS_MISSING_BEGIN_POLYGON

undocumented
GLU_TESS_MISSING_END_CONTOUR

undocumented
GLU_TESS_MISSING_END_POLYGON

undocumented
GLU_TESS_NEED_COMBINE_CALLBACK

undocumented
GLU_TESS_TOLERANCE

undocumented
GLU_TESS_VERTEX

undocumented
GLU_TESS_VERTEX_DATA

undocumented
GLU_TESS_WINDING_ABS_GEQ_TWO

undocumented
GLU_TESS_WINDING_NEGATIVE

undocumented
GLU_TESS_WINDING_NONZERO

undocumented
GLU_TESS_WINDING_ODD

undocumented
GLU_TESS_WINDING_POSITIVE

undocumented
GLU_TESS_WINDING_RULE

undocumented
GLU_TRUE

undocumented
GLU_UNKNOWN

undocumented
GLU_U_STEP

undocumented
GLU_VERSION

undocumented
GLU_VERSION_1_1

undocumented
GLU_VERSION_1_2

undocumented
GLU_VERSION_1_3

undocumented
GLU_VERTEX

undocumented
GLU_V_STEP

undocumented
clone

undocumented
gluBuild1DMipmaps

undocumented
gluBuild2DMipmaps

undocumented
gluCylinder

undocumented
gluDeleteQuadric

undocumented
gluDisk

undocumented
gluErrorString

undocumented
gluGetString

undocumented
gluLookAt

undocumented
gluNewQuadric

undocumented
gluOrtho2D

undocumented
gluPartialDisk

undocumented
gluPerspective

undocumented
gluPickMatrix

undocumented
gluProject

undocumented
gluProjectOrigin

undocumented
gluQuadricDrawStyle

undocumented
gluQuadricNormals

undocumented
gluQuadricOrientation

undocumented
gluQuadricTexture

undocumented
gluRoundedBox

undocumented
gluRoundedBoxOutline

undocumented
gluScaleImage(formatIn, widthIn, heightIn, typeIn, dataSeqIn, widthOut, heightOut, typeOut, dataSeqOut)

Scales the image data in dataSeqIn and outputs the result to dataSeqOut. Returns error code as a Number.
gluSphere

undocumented
gluUnProject

undocumented
gluUnProjectOrigin

undocumented

GLUQuadric

Module: OpenGL
Category: Graphics

Slot Index

Slots

setTexture

undocumented
texture

undocumented
useFillStyle

undocumented
useFlatNormals

undocumented
useInsideOrientation

undocumented
useLineStyle

undocumented
useNoNormals

undocumented
useOutsideOrientation

undocumented
usePointStyle

undocumented
useSilhoutteStyle

undocumented
useSmoothNormals

undocumented

GLUT

Module: OpenGL
Category: Graphics

Slot Index

GLUT_ACCUM
GLUT_ACTIVE_ALT
GLUT_ACTIVE_CTRL
GLUT_ACTIVE_SHIFT
GLUT_ALPHA
GLUT_BITMAP_8_BY_13
GLUT_BITMAP_9_BY_15
GLUT_BITMAP_HELVETICA_10
GLUT_BITMAP_HELVETICA_12
GLUT_BITMAP_HELVETICA_18
GLUT_BITMAP_TIMES_ROMAN_10
GLUT_BITMAP_TIMES_ROMAN_24
GLUT_BLUE
GLUT_CURSOR_BOTTOM_LEFT_CORNER
GLUT_CURSOR_BOTTOM_RIGHT_CORNER
GLUT_CURSOR_BOTTOM_SIDE
GLUT_CURSOR_CROSSHAIR
GLUT_CURSOR_CYCLE
GLUT_CURSOR_DESTROY
GLUT_CURSOR_FULL_CROSSHAIR
GLUT_CURSOR_HELP
GLUT_CURSOR_INFO
GLUT_CURSOR_INHERIT
GLUT_CURSOR_LEFT_ARROW
GLUT_CURSOR_LEFT_RIGHT
GLUT_CURSOR_LEFT_SIDE
GLUT_CURSOR_NONE
GLUT_CURSOR_RIGHT_ARROW
GLUT_CURSOR_RIGHT_SIDE
GLUT_CURSOR_SPRAY
GLUT_CURSOR_TEXT
GLUT_CURSOR_TOP_LEFT_CORNER
GLUT_CURSOR_TOP_RIGHT_CORNER
GLUT_CURSOR_TOP_SIDE
GLUT_CURSOR_UP_DOWN
GLUT_CURSOR_WAIT
GLUT_DEPTH
GLUT_DEVICE_IGNORE_KEY_REPEAT
GLUT_DEVICE_KEY_REPEAT
GLUT_DISPLAY_MODE_POSSIBLE
GLUT_DOUBLE
GLUT_DOWN
GLUT_ELAPSED_TIME
GLUT_ENTERED
GLUT_FULLY_COVERED
GLUT_FULLY_RETAINED
GLUT_GAME_MODE_ACTIVE
GLUT_GAME_MODE_DISPLAY_CHANGED
GLUT_GAME_MODE_HEIGHT
GLUT_GAME_MODE_PIXEL_DEPTH
GLUT_GAME_MODE_POSSIBLE
GLUT_GAME_MODE_REFRESH_RATE
GLUT_GAME_MODE_WIDTH
GLUT_GREEN
GLUT_HAS_DIAL_AND_BUTTON_BOX
GLUT_HAS_JOYSTICK
GLUT_HAS_KEYBOARD
GLUT_HAS_MOUSE
GLUT_HAS_OVERLAY
GLUT_HAS_SPACEBALL
GLUT_HAS_TABLET
GLUT_HIDDEN
GLUT_INDEX
GLUT_INIT_DISPLAY_MODE
GLUT_INIT_WINDOW_HEIGHT
GLUT_INIT_WINDOW_WIDTH
GLUT_INIT_WINDOW_X
GLUT_INIT_WINDOW_Y
GLUT_JOYSTICK_AXES
GLUT_JOYSTICK_BUTTONS
GLUT_JOYSTICK_BUTTON_A
GLUT_JOYSTICK_BUTTON_B
GLUT_JOYSTICK_BUTTON_C
GLUT_JOYSTICK_BUTTON_D
GLUT_JOYSTICK_POLL_RATE
GLUT_KEY_BACKSLASH
GLUT_KEY_COMMA
GLUT_KEY_DECIMAL
GLUT_KEY_DEL
GLUT_KEY_DELETE
GLUT_KEY_DOWN
GLUT_KEY_END
GLUT_KEY_EQUAL
GLUT_KEY_ESC
GLUT_KEY_F1
GLUT_KEY_F10
GLUT_KEY_F11
GLUT_KEY_F12
GLUT_KEY_F2
GLUT_KEY_F3
GLUT_KEY_F4
GLUT_KEY_F5
GLUT_KEY_F6
GLUT_KEY_F7
GLUT_KEY_F8
GLUT_KEY_F9
GLUT_KEY_GRAVE
GLUT_KEY_HOME
GLUT_KEY_INSERT
GLUT_KEY_LBRACKET
GLUT_KEY_LEFT
GLUT_KEY_PAGE_DOWN
GLUT_KEY_PAGE_UP
GLUT_KEY_QUOTE
GLUT_KEY_RBRACKET
GLUT_KEY_REPEAT_DEFAULT
GLUT_KEY_REPEAT_OFF
GLUT_KEY_REPEAT_ON
GLUT_KEY_RETURN
GLUT_KEY_RIGHT
GLUT_KEY_SEMICOLON
GLUT_KEY_SLASH
GLUT_KEY_SPACE
GLUT_KEY_TAB
GLUT_KEY_UP
GLUT_LAYER_IN_USE
GLUT_LEFT
GLUT_LEFT_BUTTON
GLUT_LUMINANCE
GLUT_MENU_IN_USE
GLUT_MENU_NOT_IN_USE
GLUT_MENU_NUM_ITEMS
GLUT_MIDDLE_BUTTON
GLUT_MULTISAMPLE
GLUT_NORMAL
GLUT_NORMAL_DAMAGED
GLUT_NOT_VISIBLE
GLUT_NUM_BUTTON_BOX_BUTTONS
GLUT_NUM_DIALS
GLUT_NUM_MOUSE_BUTTONS
GLUT_NUM_SPACEBALL_BUTTONS
GLUT_NUM_TABLET_BUTTONS
GLUT_OVERLAY
GLUT_OVERLAY_DAMAGED
GLUT_OVERLAY_POSSIBLE
GLUT_OWNS_JOYSTICK
GLUT_PARTIALLY_RETAINED
GLUT_RED
GLUT_RGB
GLUT_RGBA
GLUT_RIGHT_BUTTON
GLUT_SCREEN_HEIGHT
GLUT_SCREEN_HEIGHT_MM
GLUT_SCREEN_WIDTH
GLUT_SCREEN_WIDTH_MM
GLUT_SINGLE
GLUT_STENCIL
GLUT_STEREO
GLUT_STROKE_MONO_ROMAN
GLUT_STROKE_ROMAN
GLUT_TRANSPARENT_INDEX
GLUT_UP
GLUT_VIDEO_RESIZE_HEIGHT
GLUT_VIDEO_RESIZE_HEIGHT_DELTA
GLUT_VIDEO_RESIZE_IN_USE
GLUT_VIDEO_RESIZE_POSSIBLE
GLUT_VIDEO_RESIZE_WIDTH
GLUT_VIDEO_RESIZE_WIDTH_DELTA
GLUT_VIDEO_RESIZE_X
GLUT_VIDEO_RESIZE_X_DELTA
GLUT_VIDEO_RESIZE_Y
GLUT_VIDEO_RESIZE_Y_DELTA
GLUT_VISIBLE
GLUT_WINDOW_ACCUM_ALPHA_SIZE
GLUT_WINDOW_ACCUM_BLUE_SIZE
GLUT_WINDOW_ACCUM_GREEN_SIZE
GLUT_WINDOW_ACCUM_RED_SIZE
GLUT_WINDOW_ALPHA_SIZE
GLUT_WINDOW_BLUE_SIZE
GLUT_WINDOW_BUFFER_SIZE
GLUT_WINDOW_COLORMAP_SIZE
GLUT_WINDOW_CURSOR
GLUT_WINDOW_DEPTH_SIZE
GLUT_WINDOW_DOUBLEBUFFER
GLUT_WINDOW_FORMAT_ID
GLUT_WINDOW_GREEN_SIZE
GLUT_WINDOW_HEIGHT
GLUT_WINDOW_NUM_CHILDREN
GLUT_WINDOW_NUM_SAMPLES
GLUT_WINDOW_PARENT
GLUT_WINDOW_RED_SIZE
GLUT_WINDOW_RGBA
GLUT_WINDOW_STENCIL_SIZE
GLUT_WINDOW_STEREO
GLUT_WINDOW_WIDTH
GLUT_WINDOW_X
GLUT_WINDOW_Y
clone
glutAddMenuEntry
glutAddSubMenu
glutAttachMenu
glutChangeToMenuEntry
glutChangeToSubMenu
glutCreateMenu
glutCreateSubWindow
glutCreateWindow
glutDestroyMenu
glutDestroyWindow
glutDetachMenu
glutDisplayFunc
glutEnterGameMode
glutEntryFunc
glutEventTarget
glutFullScreen
glutGameModeString
glutGet
glutGetMenu
glutGetModifiers
glutGetWindow
glutHideWindow
glutIconifyWindow
glutIgnoreKeyRepeat
glutInit
glutInitDisplayMode
glutInitWindowPosition
glutInitWindowSize
glutJoystickFunc
glutKeyboardFunc
glutKeyboardUpFunc
glutLeaveGameMode
glutMainLoop
glutMotionFunc
glutMouseFunc
glutPassiveMotionFunc
glutPopWindow
glutPositionWindow
glutPostRedisplay
glutPushWindow
glutRemoveMenuItem
glutReshapeFunc
glutReshapeWindow
glutSetCursor
glutSetIconTitle
glutSetMenu
glutSetWindow
glutSetWindowTitle
glutShowWindow
glutSolidCone
glutSolidCube
glutSolidDodecahedron
glutSolidIcosahedron
glutSolidOctahedron
glutSolidSphere
glutSolidTeapot
glutSolidTetrahedron
glutSolidTorus
glutSpecialFunc
glutSpecialUpFunc
glutStrokeCharacter
glutStrokeString
glutSwapBuffers
glutTimerFunc
glutWarpPointer
glutWireCone
glutWireCube
glutWireDodecahedron
glutWireIcosahedron
glutWireOctahedron
glutWireSphere
glutWireTeapot
glutWireTetrahedron
glutWireTorus

Slots

GLUT_ACCUM

undocumented
GLUT_ACTIVE_ALT

undocumented
GLUT_ACTIVE_CTRL

undocumented
GLUT_ACTIVE_SHIFT

undocumented
GLUT_ALPHA

undocumented
GLUT_BITMAP_8_BY_13

undocumented
GLUT_BITMAP_9_BY_15

undocumented
GLUT_BITMAP_HELVETICA_10

undocumented
GLUT_BITMAP_HELVETICA_12

undocumented
GLUT_BITMAP_HELVETICA_18

undocumented
GLUT_BITMAP_TIMES_ROMAN_10

undocumented
GLUT_BITMAP_TIMES_ROMAN_24

undocumented
GLUT_BLUE

undocumented
GLUT_CURSOR_BOTTOM_LEFT_CORNER

undocumented
GLUT_CURSOR_BOTTOM_RIGHT_CORNER

undocumented
GLUT_CURSOR_BOTTOM_SIDE

undocumented
GLUT_CURSOR_CROSSHAIR

undocumented
GLUT_CURSOR_CYCLE

undocumented
GLUT_CURSOR_DESTROY

undocumented
GLUT_CURSOR_FULL_CROSSHAIR

undocumented
GLUT_CURSOR_HELP

undocumented
GLUT_CURSOR_INFO

undocumented
GLUT_CURSOR_INHERIT

undocumented
GLUT_CURSOR_LEFT_ARROW

undocumented
GLUT_CURSOR_LEFT_RIGHT

undocumented
GLUT_CURSOR_LEFT_SIDE

undocumented
GLUT_CURSOR_NONE

undocumented
GLUT_CURSOR_RIGHT_ARROW

undocumented
GLUT_CURSOR_RIGHT_SIDE

undocumented
GLUT_CURSOR_SPRAY

undocumented
GLUT_CURSOR_TEXT

undocumented
GLUT_CURSOR_TOP_LEFT_CORNER

undocumented
GLUT_CURSOR_TOP_RIGHT_CORNER

undocumented
GLUT_CURSOR_TOP_SIDE

undocumented
GLUT_CURSOR_UP_DOWN

undocumented
GLUT_CURSOR_WAIT

undocumented
GLUT_DEPTH

undocumented
GLUT_DEVICE_IGNORE_KEY_REPEAT

undocumented
GLUT_DEVICE_KEY_REPEAT

undocumented
GLUT_DISPLAY_MODE_POSSIBLE

undocumented
GLUT_DOUBLE

undocumented
GLUT_DOWN

undocumented
GLUT_ELAPSED_TIME

undocumented
GLUT_ENTERED

undocumented
GLUT_FULLY_COVERED

undocumented
GLUT_FULLY_RETAINED

undocumented
GLUT_GAME_MODE_ACTIVE

undocumented
GLUT_GAME_MODE_DISPLAY_CHANGED

undocumented
GLUT_GAME_MODE_HEIGHT

undocumented
GLUT_GAME_MODE_PIXEL_DEPTH

undocumented
GLUT_GAME_MODE_POSSIBLE

undocumented
GLUT_GAME_MODE_REFRESH_RATE

undocumented
GLUT_GAME_MODE_WIDTH

undocumented
GLUT_GREEN

undocumented
GLUT_HAS_DIAL_AND_BUTTON_BOX

undocumented
GLUT_HAS_JOYSTICK

undocumented
GLUT_HAS_KEYBOARD

undocumented
GLUT_HAS_MOUSE

undocumented
GLUT_HAS_OVERLAY

undocumented
GLUT_HAS_SPACEBALL

undocumented
GLUT_HAS_TABLET

undocumented
GLUT_HIDDEN

undocumented
GLUT_INDEX

undocumented
GLUT_INIT_DISPLAY_MODE

undocumented
GLUT_INIT_WINDOW_HEIGHT

undocumented
GLUT_INIT_WINDOW_WIDTH

undocumented
GLUT_INIT_WINDOW_X

undocumented
GLUT_INIT_WINDOW_Y

undocumented
GLUT_JOYSTICK_AXES

undocumented
GLUT_JOYSTICK_BUTTONS

undocumented
GLUT_JOYSTICK_BUTTON_A

undocumented
GLUT_JOYSTICK_BUTTON_B

undocumented
GLUT_JOYSTICK_BUTTON_C

undocumented
GLUT_JOYSTICK_BUTTON_D

undocumented
GLUT_JOYSTICK_POLL_RATE

undocumented
GLUT_KEY_BACKSLASH

undocumented
GLUT_KEY_COMMA

undocumented
GLUT_KEY_DECIMAL

undocumented
GLUT_KEY_DEL

undocumented
GLUT_KEY_DELETE

undocumented
GLUT_KEY_DOWN

undocumented
GLUT_KEY_END

undocumented
GLUT_KEY_EQUAL

undocumented
GLUT_KEY_ESC

undocumented
GLUT_KEY_F1

undocumented
GLUT_KEY_F10

undocumented
GLUT_KEY_F11

undocumented
GLUT_KEY_F12

undocumented
GLUT_KEY_F2

undocumented
GLUT_KEY_F3

undocumented
GLUT_KEY_F4

undocumented
GLUT_KEY_F5

undocumented
GLUT_KEY_F6

undocumented
GLUT_KEY_F7

undocumented
GLUT_KEY_F8

undocumented
GLUT_KEY_F9

undocumented
GLUT_KEY_GRAVE

undocumented
GLUT_KEY_HOME

undocumented
GLUT_KEY_INSERT

undocumented
GLUT_KEY_LBRACKET

undocumented
GLUT_KEY_LEFT

undocumented
GLUT_KEY_PAGE_DOWN

undocumented
GLUT_KEY_PAGE_UP

undocumented
GLUT_KEY_QUOTE

undocumented
GLUT_KEY_RBRACKET

undocumented
GLUT_KEY_REPEAT_DEFAULT

undocumented
GLUT_KEY_REPEAT_OFF

undocumented
GLUT_KEY_REPEAT_ON

undocumented
GLUT_KEY_RETURN

undocumented
GLUT_KEY_RIGHT

undocumented
GLUT_KEY_SEMICOLON

undocumented
GLUT_KEY_SLASH

undocumented
GLUT_KEY_SPACE

undocumented
GLUT_KEY_TAB

undocumented
GLUT_KEY_UP

undocumented
GLUT_LAYER_IN_USE

undocumented
GLUT_LEFT

undocumented
GLUT_LEFT_BUTTON

undocumented
GLUT_LUMINANCE

undocumented
GLUT_MENU_IN_USE

undocumented
GLUT_MENU_NOT_IN_USE

undocumented
GLUT_MENU_NUM_ITEMS

undocumented
GLUT_MIDDLE_BUTTON

undocumented
GLUT_MULTISAMPLE

undocumented
GLUT_NORMAL

undocumented
GLUT_NORMAL_DAMAGED

undocumented
GLUT_NOT_VISIBLE

undocumented
GLUT_NUM_BUTTON_BOX_BUTTONS

undocumented
GLUT_NUM_DIALS

undocumented
GLUT_NUM_MOUSE_BUTTONS

undocumented
GLUT_NUM_SPACEBALL_BUTTONS

undocumented
GLUT_NUM_TABLET_BUTTONS

undocumented
GLUT_OVERLAY

undocumented
GLUT_OVERLAY_DAMAGED

undocumented
GLUT_OVERLAY_POSSIBLE

undocumented
GLUT_OWNS_JOYSTICK

undocumented
GLUT_PARTIALLY_RETAINED

undocumented
GLUT_RED

undocumented
GLUT_RGB

undocumented
GLUT_RGBA

undocumented
GLUT_RIGHT_BUTTON

undocumented
GLUT_SCREEN_HEIGHT

undocumented
GLUT_SCREEN_HEIGHT_MM

undocumented
GLUT_SCREEN_WIDTH

undocumented
GLUT_SCREEN_WIDTH_MM

undocumented
GLUT_SINGLE

undocumented
GLUT_STENCIL

undocumented
GLUT_STEREO

undocumented
GLUT_STROKE_MONO_ROMAN

undocumented
GLUT_STROKE_ROMAN

undocumented
GLUT_TRANSPARENT_INDEX

undocumented
GLUT_UP

undocumented
GLUT_VIDEO_RESIZE_HEIGHT

undocumented
GLUT_VIDEO_RESIZE_HEIGHT_DELTA

undocumented
GLUT_VIDEO_RESIZE_IN_USE

undocumented
GLUT_VIDEO_RESIZE_POSSIBLE

undocumented
GLUT_VIDEO_RESIZE_WIDTH

undocumented
GLUT_VIDEO_RESIZE_WIDTH_DELTA

undocumented
GLUT_VIDEO_RESIZE_X

undocumented
GLUT_VIDEO_RESIZE_X_DELTA

undocumented
GLUT_VIDEO_RESIZE_Y

undocumented
GLUT_VIDEO_RESIZE_Y_DELTA

undocumented
GLUT_VISIBLE

undocumented
GLUT_WINDOW_ACCUM_ALPHA_SIZE

undocumented
GLUT_WINDOW_ACCUM_BLUE_SIZE

undocumented
GLUT_WINDOW_ACCUM_GREEN_SIZE

undocumented
GLUT_WINDOW_ACCUM_RED_SIZE

undocumented
GLUT_WINDOW_ALPHA_SIZE

undocumented
GLUT_WINDOW_BLUE_SIZE

undocumented
GLUT_WINDOW_BUFFER_SIZE

undocumented
GLUT_WINDOW_COLORMAP_SIZE

undocumented
GLUT_WINDOW_CURSOR

undocumented
GLUT_WINDOW_DEPTH_SIZE

undocumented
GLUT_WINDOW_DOUBLEBUFFER

undocumented
GLUT_WINDOW_FORMAT_ID

undocumented
GLUT_WINDOW_GREEN_SIZE

undocumented
GLUT_WINDOW_HEIGHT

undocumented
GLUT_WINDOW_NUM_CHILDREN

undocumented
GLUT_WINDOW_NUM_SAMPLES

undocumented
GLUT_WINDOW_PARENT

undocumented
GLUT_WINDOW_RED_SIZE

undocumented
GLUT_WINDOW_RGBA

undocumented
GLUT_WINDOW_STENCIL_SIZE

undocumented
GLUT_WINDOW_STEREO

undocumented
GLUT_WINDOW_WIDTH

undocumented
GLUT_WINDOW_X

undocumented
GLUT_WINDOW_Y

undocumented
clone

undocumented
glutAddMenuEntry

undocumented
glutAddSubMenu

undocumented
glutAttachMenu

undocumented
glutChangeToMenuEntry

undocumented
glutChangeToSubMenu

undocumented
glutCreateMenu

undocumented
glutCreateSubWindow

undocumented
glutCreateWindow

undocumented
glutDestroyMenu

undocumented
glutDestroyWindow

undocumented
glutDetachMenu

undocumented
glutDisplayFunc

undocumented
glutEnterGameMode

undocumented
glutEntryFunc

undocumented
glutEventTarget

undocumented
glutFullScreen

undocumented
glutGameModeString

undocumented
glutGet

undocumented
glutGetMenu

undocumented
glutGetModifiers

undocumented
glutGetWindow

undocumented
glutHideWindow

undocumented
glutIconifyWindow

undocumented
glutIgnoreKeyRepeat

undocumented
glutInit

undocumented
glutInitDisplayMode

undocumented
glutInitWindowPosition

undocumented
glutInitWindowSize

undocumented
glutJoystickFunc

undocumented
glutKeyboardFunc

undocumented
glutKeyboardUpFunc

undocumented
glutLeaveGameMode

undocumented
glutMainLoop

undocumented
glutMotionFunc

undocumented
glutMouseFunc

undocumented
glutPassiveMotionFunc

undocumented
glutPopWindow

undocumented
glutPositionWindow

undocumented
glutPostRedisplay

undocumented
glutPushWindow

undocumented
glutRemoveMenuItem

undocumented
glutReshapeFunc

undocumented
glutReshapeWindow

undocumented
glutSetCursor

undocumented
glutSetIconTitle

undocumented
glutSetMenu

undocumented
glutSetWindow

undocumented
glutSetWindowTitle

undocumented
glutShowWindow

undocumented
glutSolidCone

undocumented
glutSolidCube

undocumented
glutSolidDodecahedron

undocumented
glutSolidIcosahedron

undocumented
glutSolidOctahedron

undocumented
glutSolidSphere

undocumented
glutSolidTeapot

undocumented
glutSolidTetrahedron

undocumented
glutSolidTorus

undocumented
glutSpecialFunc

undocumented
glutSpecialUpFunc

undocumented
glutStrokeCharacter

undocumented
glutStrokeString

undocumented
glutSwapBuffers

undocumented
glutTimerFunc

undocumented
glutWarpPointer

undocumented
glutWireCone

undocumented
glutWireCube

undocumented
glutWireDodecahedron

undocumented
glutWireIcosahedron

undocumented
glutWireOctahedron

undocumented
glutWireSphere

undocumented
glutWireTeapot

undocumented
glutWireTetrahedron

undocumented
glutWireTorus

undocumented

HTTPParser

Module: Volcano

Slot Index

Slots

parse

Parsers the HTTP request stored in the parseBuffer slot. Sets slots on self using the values parsed. Returns self if successful or an Error if the parse fails.

Host

Module: Socket
Category: Networking

Slot Index

Slots

address

Returns the ip address. A DNS lookup is done in the background if the address is not already known. Returns an error on lookup failure.
ip

undocumented
name

Returns name.
setAddress

undocumented
setName(aString)

Set's the host name. Return self.

IPAddress

Module: Socket
Category: Networking

Description

Object representation of an Internet Protocol Address.

Slot Index

Slots

asSimpleString

undocumented
asString

undocumented
ip

undocumented
port

undocumented
setHostName(hostName)

Translates hostName to an IP using asynchronous DNS and sets the host attribute. Returns self.
setIp

undocumented
setPort

undocumented
slotDescriptionMap

undocumented

Image

Module: Image
Category: Graphics

Description

The Image object can read and draw images and provide the image data as a buffer. Example use;
	
image = Image clone open("curly.png")
image draw
image scaleTo(image width / 2, image height / 2)
image save("curly.tiff")
When loading an attempt will be made to convert the image into whichever of the following formats it is closest to: L8, LA8, RGB8, RGBA8.

Currently supported formats include PNG(which supports alpha), JPG and TIFF.

Slot Index

Slots

IsPowerOf2

undocumented
addAlpha

Adds an opaque alpha component if the image is in RGB format and does not already contain one. Returns self.
changed

undocumented
componentCount

Returns the number of color components in the receiver as a Number.
crop(x, y, width, height)

Crops the image to the specified values. Returns self. Raises an exception on error.
data

Returns a Buffer primitive containing the image data (loading it first if needed). Manipulating this data will effect what is drawn when the receiver's draw method is called.
decodingHeightHint

Returns the decoding height hint.
decodingWidthHint

Returns the decoding width hint.
draw

undocumented
drawScaledTexture

undocumented
drawTexture

undocumented
encodingQuality

Returns the encodingQuality setting.
error

Returns a String containing the current error or nil if there is no error.
flipX

Flips the image on the horizonal plane (left/right mirror). Returns self.
flipY

Flips the image on the vertical plane (top/bottom mirror). Returns self.
glFormat

undocumented
grabScreen

undocumented
height

Returns the image hieght.
isL8

Returns true if the receiver is in L8 (8bit Luminance) format, false otherwise.
isLA8

Returns true if the receiver is in LA8 (8bit Luminance-Alpha) format, false otherwise.
isRGB8

Returns true if the receiver is in RGB8 format, false otherwise.
isRGBA8

Returns true if the receiver is in RGBA8 format, false otherwise.
open(optionalPathString)

Sets the path to optionalPathString if provided and opens the image file. Returns self on success, Nil on failure.
path

Returns the image path.
removeAlpha

Removes the alpha component if the image contains one. Returns self.
resizedTo(newWidth, newHeight)

Scales the image up to newWidth x newHeight. Returns the newly scaled image.
resizedTo(width, height)

Returns a new image of the receiver resized to the given width and height. Raises an exception on error.
save(optionalPathString)

Sets the path to optionalPathString if provided and saves the image in the format specified by the path extension. Returns self on success, nil on failure.
scaledTo

undocumented
setDataWidthHeightComponentCount(aSequence, width, height, componentCount)

Sets the image data and it's parameters. Returns self.
setDecodingHeightHint(width)

Sets the decoding height hint. Returns self.
setDecodingWidthHint(width)

Sets the decoding width hint. Returns self.
setEncodingQuality(aNumber)

Sets the image encoding quality (range is 0.0 - 1.0, 1.0 with being the highest).
setPath(aString)

Sets the image path. Returns self.
sizeIsPowerOf2

undocumented
texture

undocumented
textureHeight

undocumented
textureWidth

undocumented
updateTexture

undocumented
width

Returns the image width.

Importer

Module: Core

Description

A simple search path based auto-importer.

Slot Index

Slots

AddonImporter

An Importer for addon modules.
FileImporter

An Importer for local source files.
addSearchPath(path)

Add a search path to the auto importer. Relative paths are made absolute before adding.
autoImportingForward

A forward method implementation placed in the Lobby when Importing is turned on.
import(originalCallMessage)

Imports an object or addon for the given Message.
importers

List of Importer objects.
paths

List of paths the proto importer will check while searching for protos to load.
removeSearchPath(path)

Removes a search path from the auto importer. Relative paths should be removed from the same working directory as they were added.
turnOff

Turns off the Importer. Returns self.
turnOn

Turns on the Importer. Returns self.

LZODecoder

Module: LZO
Category: Compression

Description

The LZO object can be used to Z compress and uncompress data. Example use;
	
bf = LZO clone
bf beginProcessing
bf inputBuffer appendSeq("this is a message")
bf process
bf endProcess
bf outputBuffer // this contains the encoded data

Slot Index

Slots

beginProcessing

Initializes the algorithm.
endProcessing

Finish processing remaining bytes of inputBuffer.
inputBuffer

undocumented
outputBuffer

undocumented
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is empties except for the spare bytes at the end which don't fit into a cipher block.
setInputBuffer

undocumented
setOutputBuffer

undocumented

LZOEncoder

Module: LZO
Category: Compression

Description

The LZO object can be used to Z compress and uncompress data. Example use;
	
bf = LZO clone
bf beginProcessing
bf inputBuffer appendSeq("this is a message")
bf process
bf endProcess
bf outputBuffer // this contains the encoded data

Slot Index

Slots

beginProcessing

Initializes the algorithm.
endProcessing

Finish processing remaining bytes of inputBuffer.
inputBuffer

undocumented
outputBuffer

undocumented
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is empties except for the spare bytes at the end which don't fit into a cipher block.
setInputBuffer

undocumented
setOutputBuffer

undocumented

LibSndFile

Module: LibSndFile
Category: Media

Description

An object for encoding and decoding audio and video streams.

Slot Index

Slots

channels

undocumented
close

undocumented
format

undocumented
formatNames

Returns a list of strings with the names of the supported codecs.")
isRunning

Returns true if it's running, false otherwise.
openForReading

undocumented
openForWriting

undocumented
outputBuffer

Returns the output buffer.
path

undocumented
read(numberOfFrames)

Read a given number of frames (sample pairs).")
sampleRate

undocumented
setChannels

undocumented
setFormat

undocumented
setPath

undocumented
setSampleRate

undocumented
stop

Stops processing data.
write

undocumented

Linker

Module: Loki
Category: Compilers

Description

An object that enables low level introspection into a running Io VM.

Slot Index

Slots

bytesToHexSeq(aSeq)

Returns a Sequence containing a hex representation of aSeq.
hexSeqToBytes(aSeq)

Returns a Sequence containing a binary representation of the hex data in aSeq.
makeCFunction(aSeq, slotName, object)

Creates a CFunction which users the beginning address of the data in aSeq as it's function pointer and adds the CFunction to the given object on slot slotName.

List

Module: Core
Category: DataStructures

Description

A mutable array of values. The first index is 0.")

Slot Index

Slots

ListCursor

undocumented
anyOne

Returns a random element of the receiver or nil if the receiver is empty.
append(anObject1, anObject2, ...)

Appends the arguments to the end of the list. Returns self.
appendIfAbsent(anObject)

Adds each value not already contained by the receiver, returns self.
appendSeq(aList1, aList2, ...)

Add the items in the lists to the receiver. Returns self.
asEncodedList

The list should contain only Sequence or Number objects Returns a Sequence with the raw array encoding of the list. Also see: List fromEncodedList.
asMap

The reverse of Map asList: converts a list of lists (key-value pairs) into a Map. The first item of each pair list must be a sequence. The second item is the value.
asMessage

undocumented
asMessage Converts each element in the list to unnamed messages

with their cached result set to the value of the element (without activating). Returns an unnamed message whose arguments map 1:1 with the elements (after being converted to messages themselves).
asSimpleString

undocumented
asString

undocumented
asVector

undocumented
at(index)

Returns the value at index. Returns Nil if the index is out of bounds.
atInsert(index, anObject)

Inserts anObject at the index specified by index. Adds anObject if the index equals the current count of the receiver. Raises an exception if the index is out of bounds. Returns self.
atPut(index, anObject)

Replaces the existing value at index with anObject. Raises an exception if the index is out of bounds. Returns self.
average

Returns the average of the items.
capacity

Returns the number of potential elements the receiver can hold before it needs to grow.
contains(anObject)

Returns true if the receiver contains anObject, otherwise returns false.
containsAll(list)

Returns true the target contains all of the items in the argument list.
containsAny(list)

Returns true the target contains any of the items in the argument list.
containsIdenticalTo(anObject)

Returns true if the receiver contains a value identical to anObject, otherwise returns false.
copy

undocumented
cursor

undocumented
cusor

Returns a ListCursor for the receiver.
detect(optionalIndex, value, message)

Returns the first value for which the message evaluates to a non-nil. Example: list(1, 2, 3, 4) detect(i, v, v > 2) ==> 3 list(1, 2, 3, 4) detect(v, v > 2) ==> 3
difference(list)

Returns a new list containing items from the target list which aren't in the argument list.
empty

Removes all items from the receiver.
first(optionalSize)

Returns the first item or Nil if the list is empty. If optionalSize is provided, that number of the first items in the list are returned.
flatten

Creates a new list, with all contained lists flattened into the new list. For example: list(1,2,list(3,4,list(5))) flatten ==> list(1, 2, 3, 4, 5)
foreach(optionalIndex, value, message)

Loops over the list values setting the specified index and value slots and executing the message. Returns the result of the last execution of the message. Example:

list(1, 2, 3) foreach(i, v, writeln(i, " = ", v))
list(1, 2, 3) foreach(v, writeln(v))
fromEncodedList(aSeq)

Returns a List with the decoded Sequences and Numbers from the input raw array. Also see: List toEncodedList.
indexOf(anObject)

Returns the index of the first occurrence of anObject in the receiver. Returns Nil if the receiver doesn't contain anObject.
insertAfter(item, afterItem)

Inserts item after first occurance of afterItem and returns self. If afterItem is not found, item is appended to the end of the list.
insertAt(item, index)

Inserts item at the specified index. Raises an exception if the index is out of bounds. Returns self.
insertBefore(item, beforeItem)

Inserts item before first occurance of beforeItem or to the end of the list if beforeItem is not found. Returns self.
intersect(list)

Returns a new list containing the common values from the target and argument lists.
isEmpty

undocumented
isNotEmpty

undocumented
join(optionalString)

Returns a Sequence of the concatenated items with optionalString between each item or simply the concatenation of the items if no optionalString is supplied.
justSerialized

undocumented
last(optionalSize)

Returns the last item or Nil if the list is empty. If optionalSize is provided, that number of the last items in the list are returned.
map(optionalIndex, value, message)

Same as calling mapInPlace() on a clone of the receiver, but more efficient.
mapFromKey

undocumented
mapInPlace

undocumented
max

undocumented
min

undocumented
pop

Returns the last item in the list and removes it from the receiver. Returns nil if the receiver is empty.
preallocateToSize(aNumber)

Preallocates array memory to hold aNumber number of items.
prepend(anObject1, anObject2, ...)

Inserts the values at the beginning of the list. Returns self.
push(anObject1, anObject2, ...)

Same as add(anObject1, anObject2, ...).
reduce

Also known as foldl or inject. Combines values in target start on the left. reduce(+) or reduce(x, y, x + y).
remove(anObject, ...)

Removes all occurrences of the arguments from the receiver. Returns self.
removeAll

undocumented
removeAt(index)

Removes the item at the specified index and returns the value removed. Raises an exception if the index is out of bounds.
removeFirst

Returns the first item and removes it from the list. nil is returned if the list is empty.
removeLast

Returns the last item and removes it from the list. nil is returned if the list is empty.
removeSeq

Removes each of the items from the current list which are contained in the sequence passed in.
reverse

Reverses the ordering of all the items in the receiver. Returns self.
reverseForeach(index, value, message)

Same as foreach, but in reverse order.
reverseReduce

Also known as foldr and inject. Combines values in target starting on the right. reverseReduce(+) or reverseReduce(x, y, x + y).
second

undocumented
select(optionalIndex, value, message)",

"Like foreach, but the values for which the result of message are non-nil are returned in a new List. Example: list(1, 5, 7, 2) select(i, v, v > 3) print ==> 5, 7 list(1, 5, 7, 2) select(v, v > 3) print ==> 5, 7
selectInPlace

undocumented
setSize

Sets the size of the receiver by either removing excess items or adding nils as needed.
shuffle

Randomizes the order of the elements in the receiver. Returns self.
size

Returns the number of items in the receiver.
slice(startIndex, endIndex)

Returns a new string containing the subset of the receiver from the startIndex to the endIndex. The endIndex argument is optional. If not given, it is assumed to be the end of the string.
sliceInPlace(startIndex, endIndex)

Returns the receiver containing the subset of the receiver from the startIndex to the endIndex. The endIndex argument is optional. If not given, it is assumed to be the end of the string.
sort

undocumented
sortBy(aBlock)

Sort the list using aBlock as the compare function. Returns self.
sortByKey

undocumented
sortInPlace(optionalExpression)

Sorts the list using the compare method on the items. Returns self. If an optionalExpression is provided, the sort is done on the result of the evaluation of the optionalExpression on each value.
sortInPlaceBy

undocumented
sortKey

undocumented
sum

Returns the sum of the items.
swapIndices(index1, index2)

Exchanges the object at index1 with the object at index2. Raises an exception if either index is out of bounds. Returns self.
third

undocumented
union(list)

Returns a new list containing items from the target and items which are only in the argument list.
unique

Returns a new list containing all the values in the target, but no duplicates.
uniqueCount

Returns a list of list(value, count) for each unique value in self.
with(anObject, ...)

Returns a new List containing the arguments.

MD5

Module: MD5
Category: Digests

Description

An object for calculating MD5 hashes. Each has calculation should instiate it's own MD5 instance.

Slot Index

Slots

appendSeq(aSequence)

Appends aSequence to the hash calculation. Returns self.
md5

Completes the MD5 calculation and returns the hash as a Buffer. Once this method is called, append() should not be called again on the receiver or it will raise an exception.
md5String

Returns a string containing a hexadecimal representation of the md5 hash.

Map

Module: Core
Category: DataStructures

Description

A key/value dictionary appropriate for holding large key/value collections.

Slot Index

Slots

addKeysAndValues

undocumented
asList

Converts a Map to a list of lists. Each element in the returned list will be a list of two elements: the key, and the value.
asObject

undocumented
at(keyString, optionalDefaultValue)

Returns the value for the key keyString. Returns nil if the key is absent.
atIfAbsentPut(keyString, aValue)

If a value is present at the specified key, the value is returned. Otherwise, inserts/sets aValue and returns aValue.
atPut(keyString, aValue)

Inserts/sets aValue with the key keyString. Returns self.
detect

undocumented
empty

Removes all keys from the receiver. Returns self.
foreach(optionalKey, value, message)

For each key value pair, sets the locals key to the key and value to the value and executes message. Example:
	aMap foreach(k, v, writeln(k, " = ", v))
aMap foreach(v, write(v))
Example use with a block:
	myBlock = block(k, v, write(k, " = ", v, "\n"))
aMap foreach(k, v, myBlock(k, v))
hasKey(keyString)

Returns true if the key is present or false otherwise.
hasValue(aValue)

Returns true if the value is one of the Map's values or false otherwise.
i

undocumented
justSerialized

undocumented
keys

Returns a List of the receivers keys.
map

undocumented
removeAt(keyString)

Removes the specified keyString if present. Returns self.
reverseMap

undocumented
select

undocumented
size

Returns the number of key/value pairs in the receiver.
values

Returns a List of the receivers values.

Message

Module: Core
Category: Core

Description

A Message object encapsulates the action of a message send. Blocks are composed of a Message and its children.

Terminology

Example;
A B(C D); E F
In the above example:
...
Important; Modifying the message tree of a block currently in use may cause a crash if a garbage collection cycle occurs. If the implementation were changed to retain every called message, this could be avoided. But the cost to performance seems to outweigh the need to cover this case for now.

Slot Index

Slots

OperatorTable

undocumented
appendArg(aMessage)

Adds aMessage to the argument list of receiver. Examples,
	
Io> message(a) appendArg(message(b))
==> a(b)

Io> message(a(1,2)) appendArg(message(3))
==> a(1, 2, 3)
appendCachedArg(aValue)

Adds aValue to the argument list of receiver as a cachedResult.
argAt(indexNumber)

Returns Message object for the specified argument or Nil if none exists.
argCount

Returns the number of arguments this message has. A faster way to do, msg arguments size. Examples,
	
Io> message(a(1,2,3)) argCount
==> 3

Io> message(a) argCount
==> 0
argsEvaluatedIn(anObject)

Returns a List containing the argument messages evaluated in the context of anObject.
arguments

Returns a list of the message objects that act as the receiver's arguments. Modifying this list will not alter the actual list of arguments. Use the arguments_() method to do that.
asMessageWithEvaluatedArgs

undocumented
asSimpleString

undocumented
asStackEntry

undocumented
asString

Same as code().
cachedResult

Returns the cached result of the Message or Nil if there is none.
characterNumber

Returns the message character number. The charcter number is typically the beggining character index in the source text from with the message was read.
clone

Returns a Message that is a deep copy of the receiver.
code

Returns a String containing a decompiled code representation of the receiver.
codeOfLength

undocumented
description

Returns a string containing a short description of the method.
doInContext(anObject, locals)

Evaluates the receiver in the context of anObject.
evaluatedArgs

Returns a List containing the argument messages evaluated in the context.
fromString(aString)

Returns a new Message object for the compiled(but not executed) result of aString.
hasCachedResult

Returns true if there is a cached result. Nil is a valid cached result.
isEndOfLine

Returns true if the message marks the end of the line. A ';' message.
label

Returns the message label. The label is typically set the the name of the file from which the source code for the message was read.
last

Returns the last message in the chain.
lastBeforeEndOfLine

Returns the last message in the chain before the EndOfLine or nil.
lineNumber

Returns the line number of the message. The charcter number is typically the line number in the source text from with the message was read.
name

Returns the name of the receiver.
next

Returns the next message in the message chain or nil if there is no next message.
nextIgnoreEndOfLines

Returns the next message in the message chain which is not an EndOfLine or nil if there is no next message.
opShuffle

undocumented
opShuffleC

undocumented
previous

Returns the previous message in the message chain or Nil if there is no previous message.
removeCachedResult

Removes the cached result of the Message.
setArguments(aListOfMessages)

Sets the arguments of the receiver to deep copies of those contained in aListOfMessages. Returns self.
setCachedResult(anObject)

Sets the cached result of the message. Returns self.
setCharacterNumber(aNumber)

Sets the character number of the message. Returns self.
setLabel(aString)

Sets the label of the message and its children. Returns self.
setLineNumber(aNumber)

Sets the line number of the message. Returns self.
setName(aString)

Sets the name of the receiver. Returns self.
setNext

undocumented
setNextMessage(aMessageOrNil)

Sets the next message in the message chain to a deep copy of aMessage or it removes the next message if aMessage is nil.
setPrevious(aMessageOrNil)

Sets the previous message in the message chain to a deep copy of aMessage or it removes the previous message if aMessage is Nil.
union(other) Creates a union of the receiver and the other parameter.

Returns a new message object with the receivers message as the first argument of the returned message, and the other parameter's arguments as each successive argument to the new message.

MutableSequence

Module: Core

Slot Index

Slots

IoSeq_insertSeqEvery(aSequence, aNumberOfItems)

Inserts aSequence every aNumberOfItems. Returns self.
IoSeq_leaveThenRemove(aNumberToLeave, aNumberToRemove)

Leaves aNumberToLeave items then removes aNumberToRemove items. Returns self.

Number

Module: Core
Category: Core

Description

A container for a double (a 64bit floating point number on most platforms).

Slot Index

Slots

%(aNumber)

Returns the receiver modulus aNumber.
&(aNumber)

Returns a new number with the bitwise AND of the receiver and aNumber.
*(aNumber)

Returns a new number that is the product of the receiver and aNumber.
**(aNumber)

Same as pow(aNumber).
+(aNumber)

Returns a new number that is the sum of the receiver and aNumber.
-(aNumber)

Returns a new number that is the difference of the receiver and aNumber.
/(aNumber)

Returns a new number with the value of the receiver diveded by aNumber.
<<(aNumber)

Shifts the bits of the receiver left by the number of places specified by aNumber.
>>(aNumber)

Shifts the bits of the receiver right by the number of places specified by aNumber.
^(aNumber)

Returns the bitwise xor with the receiver (both numbers are converted to longs for the operation).
abs

Returns a number with the absolute value of the receiver.
acos

Returns a number with the arc cosine of the receiver.
asBinary

Returns the number as binary digits inside a string. 42 asBinary -> "101010"
asBuffer(optionalNumberOfBytes)

Returns a Buffer containing a the number of bytes specified by optionalNumberOfBytes (up to the size of a double on the platform) of the reciever. If no optionalNumberOfBytes is specified, it is assumed to be the number of bytes in a double on the host platform.
asCharacter

Returns a String containing a single character whose value is the value of the first byte of the receiver. Returns nil if the number has no valid UCS mapping.
asHex

Returns the number as hex digits inside a string. 97 asHex -> "61"
asLowercase

Returns a new Number containing a lower case version of the receiver.
asNumber

Returns self.
asOctal

Returns the number as octal digits inside a string. 436 asOctal -> "664"
asSimpleString

undocumented
asString(optionalIntegerDigits, optionalFactionDigits)

Returns a string representation of the receiver. For example:
1234.5678 asString(0, 2)
would return:
1234.57
asUint32Buffer

Returns a Sequence containing a 4 byte representation of the uint32 value of the receiver.
asUppercase

Returns a new Number containing a upper case version of the receiver.
asin

Returns a number with the arc sine of the receiver.
at(bitIndexNumber)

Returns a new Number containing 1 if the receiver cast to a long has it's bit set to 1 at bitIndexNumber. Otherwise returns 0.
atan

Returns a number with the arc tangent of the receiver.
atan2(aNumber)

Returns a number with the arc tangent of y/x where y is the receiver and x is aNumber.
between(aNumber1, aNumber2)

Returns the true if the receiver's value is between or equal to aNumber1 and aNumber2, otherwise returns false.
bitwiseAnd(aNumber)

Returns a new number with the bitwise AND of the receiver and aNumber.
bitwiseComplement

Returns a new number with the bitwise complement of the receiver. (Turns the 0 bits of become 1s and the 1 bits become 0s. )
bitwiseOr(aNumber)

Returns a new number with the bitwise AND of the receiver and aNumber.
bitwiseXor(aNumber)

Returns a new number with the bitwise XOR of the receiver and aNumber.
ceil

Returns the a number with the receiver's value rounded up to the nearest integer if it's fractional component is greater than 0.
clip(aNumber1, aNumber2)

Returns self if the receiver is between aNumber1 and aNumber2. Returns aNumber1 if it is less than aNumber1. Returns aNumber2 if it is greater than aNumber2.
combinations(size)

Returns the combinations where the receiver is the number of different objects and size is the number to be arranged.
constants

Object containing number constants e, inf, nan and pi.
cos

Returns the cosine of the receiver.
cubed

Returns the cube of the receiver.
days

Returns Duration of receiver's days. See `years' for a few examples.
doubleMin

Returns the minimum double precision float value.
e

Returns the constant e.
exp

Returns e to the power of the receiver.
factorial

Returns the factorial of the receiver.
floatMax

Returns the maximum double precision float value.
floatMin

Returns the minimum float value.
floor

Returns the a number with the receiver's value rounded down to the nearest integer if it's fractional component is not 0.
hours

Returns Duration of receiver's hours. See `years' for a few examples.
inf

Returns a not-a-number constant.
integerMax

Returns the maximum integer value.
integerMin

Returns the minimum integer value.
isAlphaNumeric

Returns true if receiver is an alphanumeric character value , false otherwise.
isControlCharacter

Returns true if receiver is a control character value , false otherwise.
isDigit

Returns true if receiver is a numeric digit value , false otherwise.
isEven

Returns true if integer form of the receiver is even , false otherwise.
isGraph

Returns true if the receiver is a printing character value except space , false otherwise.
isHexDigit

Returns true if the receiver is a hexadecimal character value , false otherwise.
isInASequenceSet

Return true if receiver is in one of the Sequence sequenceSets, otherwise false.
isLetter

Returns true if receiver is a letter character value , false otherwise.
isLowercase

Returns true if the receiver is a lowercase character value , false otherwise.
isNan

Returns true if the receiver is not a number. Otherwise returns false.
isOdd

Returns true if integer form of the receiver is odd , false otherwise.
isPrint

Returns true if the receiver is a printing character value, including space , false otherwise.
isPunctuation

Returns true if the receiver is a punctuation character value , false otherwise.
isSpace

Returns true if the receiver is a space, formfeed, newline carriage return, tab or vertical tab character value , false otherwise.
isUppercase

Returns true if the receiver is a uppercase character value , false otherwise.
justSerialized

undocumented
log

Returns the logarithm of the receiver. The base is taken as the value of the first argument or the constant e if the first argument is omitted.
log10

Returns the base 10 logarithm of the receiver.
log2

Returns the base 2 logarithm of the receiver.
longMax

Returns the maximum long value.
longMin

Returns the minimum long value.
max(aNumber)

Returns the greater of the receiver and aNumber.
min(aNumber)

Returns the lesser of the receiver and aNumber.
minMax(low, high)

Returns a number between or equal to low and high. If the receiver is equal to or between low and high, the reciever is returned. If the reciever is less than low, low is returned. If the receiver is greater than high, high is returned.
minutes

Returns Duration of receiver's minutes. See `years' for a few examples.
mod(aNumber)

Returns the receiver modulus aNumber.
nan

Returns a infinity constant.
negate

Returns new number that is negated version of the receiver.
permutations(size)

Returns the permutations where the receiver is the number of different objects and size is the number to be arranged.
pi

Returns the constant pi.
pow(aNumber)

Returns the value of the receiver to the aNumber power.
print

Prints the number.
repeat(optionalIndex, expression)

Evaluates message a number of times that corresponds to the receivers integer value. This is significantly faster than a for() or while() loop.
round

Returns the a number with the receiver's value rounded up to the nearest integer if it's fraction component is >= .5.
roundDown

Returns the a number with the receiver's value rounded down to the nearest integer if it's fraction component is <= .5.
roundedUpToPowerOf2

undocumented
seconds

Returns Duration of receiver's seconds. See `years' for a few examples.
shiftLeft

undocumented
shiftRight

undocumented
shortMax

Returns the maximum short value.
shortMin

Returns the minimum short value.
sin

Returns the sine of the receiver.
sqrt

Returns the square root of the receiver.
squared

Returns the square of the receiver.
tan

Returns the tangent of the receiver.
toggle

Returns 1 if the receiver is 0. Returns 0 otherwise.
unsignedIntMax

Returns the maximum unsigned int value.
unsignedLongMax

Returns the maximum unsigned long value.
unsignedShortMax

Returns the minimum unsigned int value.
years

undocumented
years Returns Duration of receiver's years.

Example: Io> 1 years ==> 1 years 00 days 00:00:0.000000 Io> 20 years ==> 20 years 00 days 00:00:0.000000 With this, you can do things such as: Io> Date clone now + 5 years ==> 2011-11-14 18:44:33 EST Io> Date clone now + 2 years + 3 days + 22 minutes ==> 2008-11-17 19:06:54 EST
|(aNumber)

Returns a new number with the bitwise OR of the receiver and aNumber.

ODEBody

Module: ODE

Description

ODEBody binding

Slot Index

Slots


ODEBox

Module: ODE

Description

ODEBox binding

Slot Index

Slots


ODEContact

Module: ODE

Description

ODEContact binding

Slot Index

Slots


ODEJoint

Module: ODE

Description

ODEJoint binding

Slot Index

Slots


ODEJointGroup

Module: ODE

Description

ODEJointGroup binding

Slot Index

Slots


ODEMass

Module: ODE

Description

ODEMass binding

Slot Index

Slots


ODEPlane

Module: ODE

Description

ODEPlane binding

Slot Index

Slots


ODESimpleSpace

Module: ODE

Description

ODESimpleSpace binding

Slot Index

Slots


ODEWorld

Module: ODE

Description

ODEWorld binding

Slot Index

Slots


Object

Module: Core
Category: Core

Description

An Object is a key/value dictionary with string keys and values of any type. The prototype Object contains a clone slot that is a CFuntion that creates new objects. When cloned, an Object will call it's init slot (with no arguments).

Slot Index

!=()
()
-()
..()
<()
<=()
==()
>()
>=()
?()
@
@@
NullCharacter
actorProcessQueue
actorRun
ancestorWithSlot()
ancestors
and
appendProto()
apropos
argIsActivationRecord
argIsCall
asSimpleString
asString
become
block
break()
clone
cloneWithoutInit
compact
compactState
compare()
contextWithSlot()
continue
coroDo
coroDoLater
coroFor
coroWith
currentCoro
debugOff
debugOn
debugWriteln
deprecatedWarning()
do()
doFile()
doMessage()
doRelativeFile()
doString()
doURL()
evalArg()
evalArgAndReturnNil()
evalArgAndReturnSelf()
for()
foreach()
foreachSlot
forward
getLocalSlot()
getSlot()
handleActorException
hasLocalSlot()
hasProto()
hasSlot
if()
ifDebug
ifError
ifNil
ifNilEval
ifNonNil
ifNonNilEval
in()
inlineMethod
isActivatable
isError
isIdenticalTo()
isKindOf()
isLaunchScript
isNil
justSerialized
launchFile()
lazySlot
list()
localsForward
localsUpdateSlot()
loop()
memorySize
memorySizeOfState
message()
method
newSlot()
not
or
ownsSlots
pause
perform()
performWithArgList()
prependProto()
print
println
proto
protos
raiseIfError
relativeDoFile()
removeAllProtos
removeAllSlots
removeProto()
removeSlot()
resend
return()
returnIfError
returnIfNonNil
self
serialized
serializedSlots
serializedSlotsWithNames
setIsActivatable()
setProto()
setProtos()
setSlot()
setSlotWithType()
shallowCopy
slotDescriptionMap
slotNames
slotSummary
slotValues
stopStatus
super()
switch()
tailCall()
thisContext
thisLocalContext
thisMessage
try
type
uniqueHexId
uniqueId
updateSlot()
wait
while()
write()
writeln()
yield

Slots

!=(aValue)

Returns true the receiver is not equal to aValue, false otherwise.
(expression)

The '' method evaluates the argument and returns the result.
-(aNumber)

Returns the negative version of aNumber. Raises an exception if argument is not a number.
..(arg)

.. is an alias for: method(arg, self asString append(arg asString))
<(expression)

Evaluates argument and returns self if self is less or Nil if not.
<=(expression)

Evaluates argument and returns self if self is less than or equal to it, or Nil if not.
==(aValue)

Returns true if receiver and aValue are equal, false otherwise.
>(expression)

Evaluates argument and returns self if self is greater than it, or Nil if not.
>=(expression)

Evaluates argument and returns self if self is greater than or equal to it, or Nil if not.
?(aMessage)

description: Sends the message aMessage to the receiver if it can respond to it. Example: MyObject test // performs test MyObject ?test // performs test if MyObject has a slot named test The search for the slot only follows the receivers proto chain.
@

undocumented
@@

undocumented
NullCharacter

undocumented
actorProcessQueue

undocumented
actorRun

undocumented
ancestorWithSlot(slotName)

Returns the first ancestor of the receiver that contains a slot of the specified name or Nil if none is found.
ancestors

Returns a list of all of the receiver's ancestors as found by recursively following the protos links.
and

undocumented
appendProto(anObject)

Appends anObject to the receiver's proto list. Returns self.
apropos

undocumented
argIsActivationRecord

undocumented
argIsCall

undocumented
asSimpleString

undocumented
asString

undocumented
become

undocumented
block

undocumented
break(optionalReturnValue)

Break the current loop, if any.
clone

Returns a clone of the receiver.
cloneWithoutInit

Returns a clone of the receiver but does not call init.
compact

Compact the memory for the object if possible. Returns self.
compactState

Attempt to compact the memory of the IoState if possible.
compare(anObject)

Returns a number containing the comparison value of the target with anObject.
contextWithSlot(slotName)

Returns the first context (starting with the receiver and following the lookup path) that contains a slot of the specified name or Nil if none is found.
continue

Skip the rest of the current loop iteration and start on the next, if any.
coroDo

undocumented
coroDoLater

undocumented
coroFor

undocumented
coroWith

undocumented
currentCoro

undocumented
debugOff

undocumented
debugOn

undocumented
debugWriteln

undocumented
deprecatedWarning(optionalNewName)

Prints a warning message that the current method is deprecated. If optionalNewName is supplied, the warning will suggest using that instead. Returns self.
do(expression)

Evaluates the message in the context of the receiver. Returns self.
doFile(pathString)

Evaluates the File in the context of the receiver. Returns the result. pathString is relative to the current working directory.
doMessage(aMessage, optionalContext)

Evaluates the message object in the context of the receiver. Returns the result. optionalContext can be used to specific the locals context in which the message is evaluated.
doRelativeFile(pathString)

Evaluates the File in the context of the receiver. Returns the result. pathString is relative to the file calling doRelativeFile. (Duplicate of relativeDoFile)
doString(aString)

Evaluates the string in the context of the receiver. Returns the result.
doURL(urlString)

Fetches the URL and evals it in the context of the receiver.
evalArg(expression)

The '' method evaluates the argument and returns the result.
evalArgAndReturnNil(expression)

Evaluates the argument and returns nil.
evalArgAndReturnSelf(expression)

Evaluates the argument and returns the target.
for(<counter>, <start>, <end>, <do message>)

A for-loop control structure. See the io Programming Guide for a full description.
foreach([name,] value, message)

For each slot, set name to the slot's name and value to the slot's value and execute message. Examples:

	
myObject foreach(n, v,
	writeln("slot ", n, " = ", v type)
)

myObject foreach(v,
	writeln("slot type ", v type)
)
foreachSlot

undocumented
forward

Called when the receiver is sent a message it doesn't recognize. Default implementation raises an "Object doesNotRespond" exception. Subclasses can override this method to implement proxies or special error handling.

Example:

	
myProxy forward = method(
	messageName := thisMessage name
	arguments := thisMessage arguments
	myObject doMessage(thisMessage)
)
getLocalSlot(slotNameString)

Returns the value of the slot named slotNameString (not looking in the object's protos) or nil if no such slot is found.
getSlot(slotNameString)

Returns the value of the slot named slotNameString (following the lookup path) or nil if no such slot is found.
handleActorException

undocumented
hasLocalSlot(slotNameString)

Returns true if the slot exists in the receiver or false otherwise.
hasProto(anObject)

Returns true if anObject is found in the proto path of the target, false otherwise.
hasSlot

undocumented
if(<condition>, <trueMessage>, <optionalFalseMessage>)

Evaluates trueMessage if condition evaluates to a non-Nil. Otherwise evaluates optionalFalseMessage if it is present. Returns the result of the evaluated message or Nil if none was evaluated.
ifDebug

undocumented
ifError

undocumented
ifNil

undocumented
ifNilEval

undocumented
ifNonNil

undocumented
ifNonNilEval

undocumented
in(aList)

Same as: aList contains(self)
inlineMethod

undocumented
isActivatable

Returns true if the receiver is activatable, false otherwise.
isError

undocumented
isIdenticalTo(aValue)

Returns true if the receiver is identical to aValue, false otherwise.
isKindOf(anObject)

Returns true if anObject is in the receiver's ancestors.
isLaunchScript

Returns true if the current file was run on the command line. Io's version of Python's __file__ == "__main__"
isNil

undocumented
justSerialized

undocumented
launchFile(pathString)

Eval file at pathString as if from the command line in it's folder.
lazySlot

undocumented
list(...)

Returns a List containing the arguments.
localsForward

CFunction used by Locals prototype for forwarding.
localsUpdateSlot(slotNameString, valueObject)

Local's version of updateSlot mthod.
loop(expression)

Keeps evaluating message until a break.
memorySize

Return the amount of memory used by the object.
memorySizeOfState

Returns the number of bytes in the IoState (this may not include memory allocated by C libraries).
message(expression)

Return the message object for the argument or Nil if there is no argument.
method

undocumented
newSlot(slotName, aValue)

Creates a getter and setter for the slot with the name slotName and sets it's default the value aValue. Returns self. For example, newSlot("foo", 1) would create slot named foo with the value 1 as well as a setter method setFoo().
not

undocumented
or

undocumented
ownsSlots

undocumented
pause

undocumented
perform(methodName, <arg1>, <arg2>, ...)

Performs the method corresponding to methodName with the arguments supplied.
performWithArgList(methodName, argList)

Performs the method corresponding to methodName with the arguments in the argList.
prependProto(anObject)

Prepends anObject to the receiver's proto list. Returns self.
print

Prints a string representation of the object. Returns Nil.
println

Same as print, but also prints a new line. Returns self.
proto

Same as; method(self protos first)
protos

Returns a copy of the receiver's protos list.
raiseIfError

undocumented
relativeDoFile(pathString)

Evaluates the File in the context of the receiver. Returns the result. pathString is relative to the file calling doRelativeFile. (Duplicate of doRelativeFile)
removeAllProtos

Removes all of the receiver's protos. Returns self.
removeAllSlots

Removes all of the receiver's slots. Returns self.
removeProto(anObject)

Removes anObject from the receiver's proto list if it is present. Returns self.
removeSlot(slotNameString)

Removes the specified slot (only) in the receiver if it exists. Returns self.
resend

Send the message used to activate the current method to the Object's proto. For example; Dog := Mammal clone do( init := method( resend ) ) calling Dog init will send an init method to Mammal, but using the Dog's context.
return(anObject)

Return anObject from the current execution block.
returnIfError

undocumented
returnIfNonNil

Returns the receiver from the current execution block if it is non nil. Otherwise returns the receiver locally.
self

Returns self.
serialized

undocumented
serializedSlots

undocumented
serializedSlotsWithNames

undocumented
setIsActivatable(aValue)

When called with a non-Nil aValue, sets the object to call it's activate slot when accessed as a value. Turns this behavior off if aValue is Nil. Only works on Objects which are not Activatable Primitives (such as CFunction or Block). Returns self.
setProto(anObject)

Sets the first proto of the receiver to anObject, replacing the current one, if any. Returns self.
setProtos(aList)

Replaces the receiver's protos with a copy of aList. Returns self.
setSlot(slotNameString, valueObject)

Sets the slot slotNameString in the receiver to hold valueObject. Returns valueObject.
setSlotWithType(slotNameString, valueObject)

Sets the slot slotNameString in the receiver to hold valueObject and sets the type slot of valueObject to be slotNameString. Returns valueObject.
shallowCopy

Returns a shallow copy of the receiver.
slotDescriptionMap

undocumented
slotNames

Returns a list of strings containing the names of the slots in the receiver (but not in it's lookup path).
slotSummary

undocumented
slotValues

Returns a list of the values held in the slots of the receiver.
stopStatus

Returns the internal IoState->stopStatus.
super(aMessage)

Sends the message aMessage to the receiver's proto with the context of self. Example: self test(1, 2) // performs test(1, 2) on self super(test(1, 2)) // performs test(1, 2) on self proto but with the context of self
switch(<key1>, <expression1>, <key2>, <expression2>, ...)

Execute an expression depending on the value of the caller. (This is an equivalent to C switch/case) hour := Date hour switch( 12, "midday", 0, "midnight", 17, "teatime", Date hour asString )
tailCall(expression)

Does a tailCall on the currently executing Block. Example:
	
Io> a := method(x, x = x + 1; if(x > 10, return x); tailCall(x))
==> method(x, updateSlot("x", x +(1));
		if(x >(10), return(x));
		tailCall(x))
Io> a(1)
==> 11
thisContext

undocumented
thisLocalContext

Returns current locals.
thisMessage

Returns the calling message.
try

undocumented
type

Returns a string containing the name of the type of Object (Number, String, etc).
uniqueHexId

undocumented
uniqueId

Returns a Number containing a unique id for the receiver.
updateSlot(slotNameString, valueObject)

Same as setSlot(), but raises an error if the slot does not already exist in the receiver's slot lookup path.
wait

undocumented
while(<condition>, expression)

Keeps evaluating message until condition return Nil. Returns the result of the last message evaluated or Nil if none were evaluated.
write(<any number of arguments>)

Sends a print message to the evaluated result of each argument. Returns Nil.
writeln(<any number of arguments>)

Same as write() but also writes a return character at the end. Returns Nil.
yield

undocumented

ObsidianServer

Module: Obsidian

Description

Slot Index

Slots


OpenGL

Module: OpenGL
Category: Graphics

Slot Index

glRasterPos2d
glRasterPos2dv
glRasterPos2f
glRasterPos2fv
glRasterPos2i
glRasterPos2iv
glRasterPos2s
glRasterPos2sv
glRasterPos3d
glRasterPos3dv
glRasterPos3f
glRasterPos3fv
glRasterPos3i
glRasterPos3iv
glRasterPos3s
glRasterPos3sv
glRasterPos4d
glRasterPos4dv
glRasterPos4f
glRasterPos4fv
glRasterPos4i
glRasterPos4iv
glRasterPos4s
glRasterPos4sv
glReadBuffer
glReadPixels
glRectd
glRectdv
glRectf
glRectfv
glRecti
glRectiv
glRects
glRectsv
glRenderMode
glRotated
glRotatef
glScaled
glScalef
glScissor
glSelectBuffer
glShadeModel
glStencilFunc
glStencilMask
glStencilOp
glTexCoord1d
glTexCoord1dv
glTexCoord1f
glTexCoord1fv
glTexCoord1i
glTexCoord1iv
glTexCoord1s
glTexCoord1sv
glTexCoord2d
glTexCoord2dv
glTexCoord2f
glTexCoord2fv
glTexCoord2i
glTexCoord2iv
glTexCoord2s
glTexCoord2sv
glTexCoord3d
glTexCoord3dv
glTexCoord3f
glTexCoord3fv
glTexCoord3i
glTexCoord3iv
glTexCoord3s
glTexCoord3sv
glTexCoord4d
glTexCoord4dv
glTexCoord4f
glTexCoord4fv
glTexCoord4i
glTexCoord4iv
glTexCoord4s
glTexCoord4sv
glTexCoordPointer
glTexEnvf
glTexEnvfv
glTexEnvi
glTexEnviv
glTexImage1D
glTexImage2D
glTexParameterf
glTexParameterfv
glTexParameteri
glTexParameteriv
glTexSubImage1D
glTexSubImage2D
glTranslated
glTranslatef
glTranslatei
glVertex2d
glVertex2dv
glVertex2f
glVertex2fv
glVertex2i
glVertex2iv
glVertex2s
glVertex2sv
glVertex3d
glVertex3dv
glVertex3f
glVertex3fv
glVertex3i
glVertex3iv
glVertex3s
glVertex3sv
glVertex4d
glVertex4dv
glVertex4f
glVertex4fv
glVertex4i
glVertex4iv
glVertex4s
glVertex4sv
glVertexPointer
glViewport

Slots

glRasterPos2d

undocumented
glRasterPos2dv

undocumented
glRasterPos2f

undocumented
glRasterPos2fv

undocumented
glRasterPos2i

undocumented
glRasterPos2iv

undocumented
glRasterPos2s

undocumented
glRasterPos2sv

undocumented
glRasterPos3d

undocumented
glRasterPos3dv

undocumented
glRasterPos3f

undocumented
glRasterPos3fv

undocumented
glRasterPos3i

undocumented
glRasterPos3iv

undocumented
glRasterPos3s

undocumented
glRasterPos3sv

undocumented
glRasterPos4d

undocumented
glRasterPos4dv

undocumented
glRasterPos4f

undocumented
glRasterPos4fv

undocumented
glRasterPos4i

undocumented
glRasterPos4iv

undocumented
glRasterPos4s

undocumented
glRasterPos4sv

undocumented
glReadBuffer

undocumented
glReadPixels

undocumented
glRectd

undocumented
glRectdv

undocumented
glRectf

undocumented
glRectfv

undocumented
glRecti

undocumented
glRectiv

undocumented
glRects

undocumented
glRectsv

undocumented
glRenderMode

undocumented
glRotated

undocumented
glRotatef

undocumented
glScaled

undocumented
glScalef

undocumented
glScissor

undocumented
glSelectBuffer

undocumented
glShadeModel

undocumented
glStencilFunc

undocumented
glStencilMask

undocumented
glStencilOp

undocumented
glTexCoord1d

undocumented
glTexCoord1dv

undocumented
glTexCoord1f

undocumented
glTexCoord1fv

undocumented
glTexCoord1i

undocumented
glTexCoord1iv

undocumented
glTexCoord1s

undocumented
glTexCoord1sv

undocumented
glTexCoord2d

undocumented
glTexCoord2dv

undocumented
glTexCoord2f

undocumented
glTexCoord2fv

undocumented
glTexCoord2i

undocumented
glTexCoord2iv

undocumented
glTexCoord2s

undocumented
glTexCoord2sv

undocumented
glTexCoord3d

undocumented
glTexCoord3dv

undocumented
glTexCoord3f

undocumented
glTexCoord3fv

undocumented
glTexCoord3i

undocumented
glTexCoord3iv

undocumented
glTexCoord3s

undocumented
glTexCoord3sv

undocumented
glTexCoord4d

undocumented
glTexCoord4dv

undocumented
glTexCoord4f

undocumented
glTexCoord4fv

undocumented
glTexCoord4i

undocumented
glTexCoord4iv

undocumented
glTexCoord4s

undocumented
glTexCoord4sv

undocumented
glTexCoordPointer

undocumented
glTexEnvf

undocumented
glTexEnvfv

undocumented
glTexEnvi

undocumented
glTexEnviv

undocumented
glTexImage1D

undocumented
glTexImage2D

undocumented
glTexParameterf

undocumented
glTexParameterfv

undocumented
glTexParameteri

undocumented
glTexParameteriv

undocumented
glTexSubImage1D

undocumented
glTexSubImage2D

undocumented
glTranslated

undocumented
glTranslatef

undocumented
glTranslatei

undocumented
glVertex2d

undocumented
glVertex2dv

undocumented
glVertex2f

undocumented
glVertex2fv

undocumented
glVertex2i

undocumented
glVertex2iv

undocumented
glVertex2s

undocumented
glVertex2sv

undocumented
glVertex3d

undocumented
glVertex3dv

undocumented
glVertex3f

undocumented
glVertex3fv

undocumented
glVertex3i

undocumented
glVertex3iv

undocumented
glVertex3s

undocumented
glVertex3sv

undocumented
glVertex4d

undocumented
glVertex4dv

undocumented
glVertex4f

undocumented
glVertex4fv

undocumented
glVertex4i

undocumented
glVertex4iv

undocumented
glVertex4s

undocumented
glVertex4sv

undocumented
glVertexPointer

undocumented
glViewport

undocumented

Path

Module: Core
Category: FileSystem

Slot Index

Slots

absolute

Returns an absolute version of the path.
hasDriveLetters

returns true if the platform requires DOS C: style drive letters.
isPathAbsolute

Returns true if path is absolute, false if it is relative.
with(aSequence)

Returns a new Path object for the given Sequence.

Postgres

Module: Postgres
Category: Databases

Slot Index

Slots

ConnStatusType

undocumented
ExecStatusType

undocumented
PGTransactionStatusType

undocumented
PGVerbosity

undocumented
PGconn

undocumented
PGnumber

undocumented
PGresult

undocumented
PGstring

undocumented
PostgresPollingStatusType

undocumented
convert

undocumented
enum

undocumented
forward

undocumented
fromPostgres

undocumented
libpq

undocumented
map

undocumented
returns

undocumented
void

undocumented

Python

Module: Python
Category: Server

Description

This object provides access the world of python.

Slot Index

Slots


QDBM

Module: QDBM
Category: Databases

Description

An ordered key/value database that supports transactions and arbitrary kay and value sizes.

Slot Index

Slots

abort

Abort transaction. Returns self
at(keySymbol)

Returns a Sequence for the value at the given key or nil if there is no such key.
atPut(keySymbol, valueSequence)

Sets the value of valueSequence with the key keySymbol. Returns self.
atRemove(keySymbol)

Removes the specified key. Returns self
begin

Begin transaction. Returns self
close

Closes the database.
commit

Commit transaction. Returns self
cursor

undocumented
cursorFirst

Move cursor to first record. Returns self
cursorJumpBackward(key)

Move cursor to previous record around key. Returns self
cursorJumpForward(key)

Move cursor to next record around key. Returns self
cursorKey

Returns current cursor key or nil.
cursorLast

Move cursor to last record. Returns self
cursorNext

Move cursor to next record. Returns true if there is another key, or false if there is no next record.
cursorPrevious

Move cursor to previous record. Returns true if there is another key, or false if there is no previous record.
cursorPut(value)

Sets the value at the current cursor postion. Returns self.
cursorRemove

Removes the current cursor postion. Returns self.
cursorValue

Returns current cursor value or nil.
name

Returns the name of the database.
open(path)

Opens the database.
optimize

Optimizes the database. Returns self
path

undocumented
removeAt

undocumented
setPath

undocumented
size

Returns number of records in database. Returns self
sizeAt(keySymbol)

Returns the size of the value at the given key or nil if there is no such key.
sync

Syncs the database. Returns self
transactionalAtPut

undocumented
transactionalRemoveAt

undocumented

Random

Module: Random
Category: Math

Description

A high quality and reasonably fast random number generator based on Makoto Matsumoto, Takuji Nishimura, and Eric Landry's implementation of the Mersenne Twister algorithm. The default seed is and xor of the ANSI C time() and clock() return values.

Slot Index

Slots

bytes(count)

Returns a Sequence of size count containing random bytes.
flip

Returns a random bit as a true or false object.
gaussian(optionalMean, optionalStandardDeviation)

Returns a pseudo random number between 0 and 1 with a gaussian distribution.
setSeed(aNumber)

Sets the random number generator seed to the unsign int version of aNumber.
value(optionalArg1, optionalArg2)

If called with:
  • no arguments, it returns a floating point random Number between 0 and 1.
  • one argument, it returns a floating point random Number between 0 and optionalArg1.
  • two arguments, it returns a floating point random Number between optionalArg1 and optionalArg2.

Range

Module: Range
Category: Jeremy Tregunna, 2006

Description

Simple datastructure representing the items at and between two specific points.

Slot Index

Slots

asList

Returns a list containing all the items within and including the ranges starting and ending points.
at(position)

Rewinds the range, skips forward until we're at the supplied position then returns the value at that position. Raises an exception if the position is out of bounds.
contains

Returns a boolean value if the range contains the argument. This works independant of any increment value.
first

Moves the current cursor to the beginning of the range, and returns it.
foreach(optionalIndex, value, message)

Iterates over each item beginning with the starting point, and finishing at the ending point inclusive. This method can operate several ways; these include: (1) Takes one argument, the message tree to be executed during each iteration; (2) Takes two arguments, the first argument is the name of the current value being iterated over, and the second is the message tree to be executed during each iteration; (3) Takes three arguments: the first is the current index within the range, the second is the name of the current value being iterated over, and the third is the message tree to be executed during each iteration. For example:
// First method (operating on numbers)
1 to(10) foreach("iterating" print) // prints "iterating" 10 times
// Second method (operating on numbers)
1 to(10) foreach(v, v print) // prints each value
// Third method (operating on numbers)
1 to(10) foreach(i, v, writeln(i .. ": " .. v)) // prints "index: value"
index

Returns the current index number starting from zero and extending outward up to the maximum number of items in the range.
indexOf(aValue)

Calculates each value, checking to see if it matches the aValue parameter. If so, return the position within the range. NOTE: This method rewinds the range before searching. If you need to revert back to your original position, make a duplicate of the range, and use indexOf on it instead.
last

Moves the current cursor to the end of the range, and returns it.
levenshtein(other)

Returns the levenshtein distance to other.
map([value], body)

Returns a new list which contains the result of the 'body' for every element stepped over in the range, from the starting point to the ending point inclusive.
next

Sets the current item in the range to the next item in the range, and returns a boolean value indicating whether it is not at the end of the range.
nextInSequence(skipVal)

Returns the next item in the sequence. The optional skipVal parameter allows you to skip ahead skipVal places.
previous

Sets the current item in the range to the previous item in the range, and returns a boolean value indicating whether it is not at the beginning of the range.
rewind

Sets the current item and the index to the values the receiver started out with.
select

Operates the same as 'List select'
setRange(start, end, increment)

Has several modes of operation. First, if only two parameters are specified, the increment value is set to 1 by default, while the first parameter represents the point to start from, and the second parameter represents the point to end at. If the second parameter is smaller than the first, the range will operate backwards. If the third parameter is specified, a custom iteration value will be used instead of 1.
slice(start, end, [by])

Returns a list containing the values from the Range starting at the start parameter, ending at the end parameter, and optionally incremented by the by parameter.
to

Convenience constructor that returns a cursor object representing the range of numbers from the receiver to the 'endingPoint' parameter. Increments over each item in that range by 1.
to(endpoint)

Convenience constructor that returns a range of sequences from the receiver to the endpoint argument. Increments over each item in that range by 1.
toBy(endingPoint, incrementValue)

Convenience constructor that returns a cursor object representing the range of numbers from the receiver to the 'endingPoint' parameter. Increments over each item in that range by the 'incrementValue' parameter.
toBy(endpoint, increment)

Convenience constructor that returns a range of sequences from the receiver to the endpoint argument. Increments over each item in that range by the value of the increment parameter. The increment parameter must be positive.
value

Returns the value of the current item in the range.

Rational

Module: Rational
Category: Math

Slot Index

Slots

!=(other)

Compares two numbers against one another. Returns true if they are equal (represent the same number), false otherwise.
%(aNum)

Returns the receiver modulus aNum
*(aNum)

Returns the value of the receiver multiplied by aNum.
+(aNum)

Returns the value of the receiver added to aNum.
-(aNum)

Returns the value of the receiver subtracted from aNum.
/(aNum)

Returns the value of the receiver divided by aNum.
==(other)

Compares two numbers against one another. Returns true if they are equal (represent the same number), false otherwise.
abs

Returns a Rational number with the absolute value of the receiver.
asNumber

Converts the Rational number to a floating point number.
asRational

Converts the number to a Rational number. CAVEAT: Numbers in Io are floating point entities, which means since they are imprecise, this conversion may yield values not expected.")
asString

Returns a text string representing the Rational number.
compare(other)

Compares two numbers against one another. Returns a positive, zero or negative value based on whether the receiver is larger, equal or less than the argument.
denominator

Returns the denominator.
divmod(aNum)

Returns a list containing the integer value and the receiver modulus aNum.
gcd(aNum)

Calculates the greatest common denominator between the receiver and the argument.
negate

Negates the Rational number.
numerator

Returns the numerator.
pow(aNum)

Returns the value of the receiver to the power of aNum.
reduce

Reduces the numerator and denominator to their lowest terms.
serialized

Returns a bit of code which can be used to serialize the Rational number.
setDenominator(aNumber)

Sets the denominator. Returns self.
setNumerator(aNumber)

Sets the numerator. Returns self.
with(aNumerator, aDenominator)

Convenience constructor. Returns a new Rational number whose numerator and denominator are represented by the arguments aNumerator and aDenominator respectively.")

ReadEvent

Module: Socket
Category: Networking

Description

Object for read events.

Slot Index

Slots

eventType

undocumented

Regex

Module: Regex
Category: Parsers

Description

The Regex addon adds support for Perl regular expressions using the PCRE library by Philip Hazel.

Example 1

	
Io> re := "is.*a" asRegex
Io> "This is a test. This is also a test." allMatchesOfRegex("is.*a") replaceAllWith("is not a")
==> "This is not a test. This is not a test.

Example 2

	
Io> "11aabb" allMatchesOfRegex("aa*")
==> list("a", "a")

Io> re := "(wom)(bat)" asRegex
Io> "wombats are cuddly" matchesOfRegex(re) replaceAllWith("$2$1!")
==> batwom!s are cuddly

Slot Index

Slots

asRegex

Returns self.
asString

Returns a string containing a textual representation of the receiver.
captureCount

Returns the number of captures defined by the pattern.
caseless

Returns a case insensitive clone of the receiver, or self if the receiver itself is case insensitive:
	
	Io> "WORD" matchesRegex("[a-z]+")
	==> false

	Io> "WORD" matchesRegex("[a-z]+" asRegex caseless)
	==> true
	
dotAll

Returns a clone of the receiver with the dotall option turned on, or self if the receiver itself has the option turned on.

In dotall mode, "." matches any character, including newline. By default it matches any character except newline.

	
	Io> "A\nB" matchesOfRegex(".+") next string
	==> A

	Io> "A\nB" matchesOfRegex(".+" asRegex dotAll) next string
	==> A\nB
	
extended

Returns a clone of the receiver with the extended option turned on, or self if the receiver itself has the option turned on.

In extended mode, a Regex ignores any whitespace character in the pattern except when escaped or inside a character class. This allows you to write clearer patterns that may be broken up into several lines.

Additionally, you can put comments in the pattern. A comment starts with a "#" character and continues to the end of the line, unless the "#" is escaped or is inside a character class.

isCaseless

Returns true if the receiver is case insensitive, false if not.
isDotAll

Returns true if the receiver is in dotall mode, false if not.
isExtended

Returns true if the receiver is in extended mode, false if not.
isMultiline

Returns true if the receiver is in multiline mode, false if not.
matchesIn(aString)

Returns a RegexMatches object that enumerates the matches of the receiver in the given string.
multiline

Returns a clone of the receiver with the multiline option turned on, or self if the receiver itself has the option turned on.

In multiline mode, "^" matches at the beginning of the string and at the beginning of each line; and "$" matches at the end of the string, and at the end of each line. By default "^" only matches at the beginning of the string, and "$" only matches at the end of the string.

	
	Io> "A\nB\nC" allMatchesForRegex("^.")
	==> list("A")

	Io> "A\nB\nC" allMatchesForRegex("^." asRegex multiline)
	==> list("A", "B", "C")
	
nameTable

Returns a list with the name of each capture. The first element will always be nil, because it corresponds to the whole match. The second element will contain the name of the first capture, or nil if the first capture has no name. And so on.
namedCaptures

Returns a Map that contains the index of each named group.
names

Returns a list of the name of each named capture. If there are no named captures, the list will be empty.
notCaseless

The reverse of caseless.
notDotAll

The reverse of dotAll.
notExtended

The reverse of extended.
notMultiline

The reverse of multiline.
pattern

Returns the pattern string that the receiver was created from.
version

Returns a string with PCRE version information.
with(pattern)

Returns a new Regex created from the given pattern string.

RegexMatch

Module: Regex
Category: Parsers

Description

Contains the result of a regular expression match operation. It acts as a read-only list of captured strings. The first item is the entire matched string. Each item after that is a captured sub pattern (anything inbetween parenthesis in the pattern).
Io> match := "37signals" findRegex("([0-9]+)([a-z]+)(!!)?")
==> RegexMatch: "37signals" 

# Item 0 is the entire matched string:
Io> match at(0)
==> 37signals

# Item 1 is the first capture ("[0-9]+"):
Io> match at(1)
==> 37

# Item 2 is the second capture ("[a-z]+"):
Io> match at(2)
==> signals

# The third sub pattern wasn't part of the match, so item 3 is nil:
Io> match at(3)
==> nil

# You can access captures by name:
Io> match at("number")
==> 37
Io> match at("word")
==> signals

Slot Index

Slots

asString

Returns a string containing a textual representation of the receiver.
at(indexOrName)

Returns the capture with the given index or name. at(0) is the entire match.
captures

Returns a list of captured strings. The first element is the whole match.
end

Returns the index into the subject at which the match ends.
endOf(indexOrName)

Returns the index into the subject at which the capture with the given index or name ends.
expandTo(templateString)

Returns templateString with capture placeholders replaced with what they represent. $0 is replaced with the whole match, $1 is replaced with the first sub capture, etc. ${name} is replaced with the capture of that name.
foreach([index], capture, message)

Loops through the captures, assigns each capture to capture, and evaluates message. Returns a list with the result of each evaluation.
indexOf(name)

Returns the index of the capture with the given name.
map([index], capture, message)

Like foreach, but the result of each evaluation of message is returned in a list.
nameOf(index)

Returns the name of the capture with the given index.
names

Returns a list of the name of each named capture. If there are no named captures, the list will be empty.
postfix

Returns a slice of the subject string that contains all text after this match. Equivalent to:
	match subject slice(match end)
	
prefix

Returns a slice of the subject string that contains all text before this match. Equivalent to:
	match subject slice(0, match start)
	
range

Returns the range of the match in the subject.
rangeOf(indexOrName)

Returns the range of the capture with the given index or name.
ranges

Returns a list containing the range of each capture.
regex

Returns the Regex that was used to find this match.
select([index], capture, message)

Like foreach, but the values for which the result of evaluating message are non-nil are returned in a list.
size

Returns the number of captures.
sizeInChars

Returns the length of the match, in characters.
slice(startIndex, [endIndex])

Returns a new list containing the subset of the receiver from the startIndex to the endIndex. The endIndex argument is optional. If not given, it is assumed to be the end of the capture list.
start

Returns the index into the subject at which the match starts.
startOf(indexOrName)

Returns the index into the subject at which the capture with the given index or name starts.
string

Returns the matched string.
subject

Returns the string that this match was found in.

RegexMatches

Module: Regex
Category: Parsers

Description

A regular expression match iterator.

Slot Index

Slots

all

Returns a list containing all matches in the string.
allowEmptyMatches

Tells the receiver to allow zero length matches. Empty matches are allowed by default. Returns self.
allowsEmptyMatches

Returns true if the receiver allows empty matches, false if not.
anchored

Like next, but will only match at the current search position.
disallowEmptyMatches

Tells the receiver not to allow zero length matches. Returns self.
endPosition

Returns the index in the string where the receiver stops searching.
foreach(value, message)

Loops through the matches, assigns each match to value, and evaluates message. Returns the result of the last evaluation.
foreachInterval(value, matchMessage, nonMatchMessage)

Like foreach, but takes an extra message that will be evaluated for the non-matching text before each match, and the non-matching text after the last match.
last

Returns the last match in the string.
map(value, message)

Like foreach, but the result of each evaluation of message is returned in a list.
next

Returns the next match, or nil if there is none.
position

Returns the search position as an index in the string.
regex

Returns the Regex that the receiver uses for finding matching.
replace(name, message)

Replaces each match in the string with the result of message and returns the resulting string.
replaceAllWith(templateString)

Same as:
	replace(match, match expandTo(templateString))
	
reset

Resets the search position to the beginning of the string. Returns self.
setEndPosition(anIndex)

Sets the index in the string where the receiver should stop searching. It will be as if the string ends at that index. If index is nil, the end position will be set to the end of string. Returns self.
	Io> "funkadelic" matchesOfRegex("\\w+") setEndPosition(4) next string
	==> funk

	Io> "funkadelic" matchesOfRegex("\\w+") setEndPosition(nil) next string
	==> funkadelic
	
setPosition(aRegexOrString)

Sets the search position to the given index in the string. Returns self.
setRegex(aRegexOrString)

Sets the regex to find matches in. Returns self.
setString(aString)

Sets the string to find matches in. Returns self.
splitString

Splits the string being matched against into pieces using the regex as the delimiter and returns the piece as a list of strings.
string

Returns the string that the receiver finds matches in.

SGMLElement

Module: SGML

Slot Index

Slots

asObject

undocumented
asString

Returns a String representation of the tag and all of it's subitems.
attributes

Returns a Map containing the tag's attributes.
beginTag

undocumented
elementWithName

undocumented
elementsWithName

undocumented
endTag

undocumented
linkStrings

undocumented
name

Returns the tag name
parent

undocumented
redirectStrings

undocumented
search

undocumented
setAttributes

undocumented
setName(aString)

Sets the tag name. Returns self.
setParent

undocumented
setSubitems

undocumented
setText

undocumented
subitems

Returns a List containing the tag's subitems.
tableData

undocumented
text

undocumented
withText

undocumented
writeToStream

undocumented

SGMLParser

Module: SGML
Category: XML

Description

This object can be used to parse SGML / HTML / XML.

Slot Index

Slots

elementForString

undocumented
elementProto

undocumented
endElement

undocumented
newAttribute

undocumented
newText

undocumented
parse(aSequence)

Parses aSequence and calls the following methods on self;
	
startElement(name)
endElement(name)
newAttribute(key, value)
newText(text)
for each of the items it finds. Returns self.
startElement

undocumented
tagForString(aSequence)

Parses aSequence and returns an SGMLTag object.
top

undocumented

SHA1

Module: SHA1
Category: Digests

Description

An object for calculating SHA1 hashes. Each has calculation should instiate it's own SHA1 instance.

Slot Index

Slots

appendSeq(aSequence)

Appends aSequence to the hash calculation. Returns self.
sha1

Completes the SHA1 calculation and returns the hash as a Buffer. Once this method is called, append() should not be called again on the receiver or it will raise an exception.")
sha1String

Returns a string containing a hexadecimal representation of the sha1 hash.")

SQLite

Module: SQLite
Category: Databases

Description

SQLite provides a embedded simple and fast (2x faster than PostgreSQL or MySQL) SQL database. See http://www.hwaci.com/sw/sqlite/ for details. It's SQL command set is described at http://www.hwaci.com/sw/sqlite/lang.html. SQLite was written by Dr. Richard Hipp who offers consulting services for custom modifications and support of SQLite. Example:
	
db := SQLite clone
db setPath("myDatabase.sqlite")
db open
db exec("CREATE TABLE Dbm (key, value)")
db exec("CREATE INDEX DbmIndex ON Dbm (key)")
db exec("INSERT INTO Dbm ('key', 'value') VALUES ('a', '123')")
db exec("INSERT INTO Dbm ('key', 'value') VALUES ('a', 'efg')")
rows := db exec("SELECT key, value FROM Dbm WHERE key='a'")
db exec("DELETE FROM Dbm WHERE key='a'")
rows := db exec("SELECT key, value FROM Dbm WHERE key='a'")
db close

Slot Index

Slots

changes

Returns the number of rows that were changed by the most recent SQL statement. Or Nil if the database is closed.
close

Closes the database if it is open. Returns self. If the database is open when the open is garbage collected, it will be automatically closed.
columnNamesOfTable(tableName)

Returns a list containing the names of all columns in the specified table.
debugOff

Turns off debugging.
debugOn

Turns on debugging.
delete

undocumented
error

Results a string containing the current error. If there is no error, Nil is returned.
escapeString(aString)

Returns a translated version of aString by making two copies of every single-quote (') character. This has the effect of escaping the end-of-string meaning of single-quote within a string literal.
exec(aString)

Opens the database if it is not already open and executes aString as an sql command. Results a List of Map objects or Nil if there was an error. Each map holds the contents of a row. The key/value pairs of the maps being column name/column value pairs for a row. ")
exists

undocumented
isOpen

Returns true if the database is open, false otherwise.
lastInsertRowId

Returns the number with the row id of the last row inserted.
open(optionalPathString)

Opens the database.Returns self on success or nil upon failure. If the databse is locked, "yield" will be called until it is accessable or timeoutSeconds has expired.
path

Returns the path to the database file.
rowsChangedCount

undocumented
setPath(aSeq)

Sets the path to the database file. Returns self.
setTimeoutSeconds(aNumber)

Sets the open timeout to aNumber. If aNumber is 0, an open call will never timeout. Returns self.
tableNames

Returns a list containing the names of all tables in the database.
timeoutSeconds

Returns the number of seconds to wait before timing out an open call. If the number is 0, an open call will never timeout.
version

Results a string the version of SQLite being used.
viewNames

Returns a list containing the names of all views in the database.

SQLite3

Module: SQLite3
Category: Databases

Description

SQLite provides a embedded simple and fast (2x faster than PostgreSQL or MySQL) SQL database. See http://www.hwaci.com/sw/sqlite/ for details. It's SQL command set is described at http://www.hwaci.com/sw/sqlite/lang.html. SQLite was written by Dr. Richard Hipp who offers consulting services for custom modifications and support of SQLite. Example:

	
db := SQLite clone
db setPath("myDatabase.sqlite")
db open
db exec("CREATE TABLE Dbm (key, value)")
db exec("CREATE INDEX DbmIndex ON Dbm (key)")
db exec("INSERT INTO Dbm ('key', 'value') VALUES ('a', '123')")
db exec("INSERT INTO Dbm ('key', 'value') VALUES ('a', 'efg')")
rows := db exec("SELECT key, value FROM Dbm WHERE key='a'")
db exec("DELETE FROM Dbm WHERE key='a'")
rows := db exec("SELECT key, value FROM Dbm WHERE key='a'")
db close

Slot Index

Slots

changes

Returns the number of rows that were changed by the most recent SQL statement. Or Nil if the database is closed.
close

Closes the database if it is open. Returns self. If the database is open when the open is garbage collected, it will be automatically closed.
columnNamesOfTable(tableName)

Returns a list containing the names of all columns in the specified table.
debugOff

Turns off debugging.
debugOn

Turns on debugging.
delete

undocumented
error

Results a string containing the current error. If there is no error, Nil is returned.
escapeString(aString)

Returns a translated version of aString by making two copies of every single-quote (') character. This has the effect of escaping the end-of-string meaning of single-quote within a string literal.
exec(aString)

Opens the database if it is not already open and executes aString as an sql command. Results a List of Map objects or Nil if there was an error. Each map holds the contents of a row. The key/value pairs of the maps being column name/column value pairs for a row.
exists

undocumented
isOpen

Returns true if the database is open, false otherwise.
lastInsertRowId

Returns the number with the row id of the last row inserted.
open(optionalPathString)

Opens the database. If there is an optionalPathString argument, the path is set to it's value before opening the database. If path is "" or ":memory:" a database will be created in-memory, otherwise the file specified by path is opened. Returns self or Nil upon failure. If the databse is locked, "yield" will be called until it is accessable or timeoutSeconds has expired. ""
path

Returns the path to the database file.
rowsChangedCount

undocumented
setPath

Sets the path to the database file. Returns self.
setTimeoutSeconds(aNumber)

Sets the open timeout to aNumber. If aNumber is 0, an open call will never timeout. Returns self.
tableNames

Returns a list containing the names of all tables in the database.
timeoutSeconds

Returns the number of seconds to wait before timing out an open call. If the number is 0, an open call will never timeout.
version

Results a string the version of SQLite being used.
viewNames

Returns a list containing the names of all views in the database.

SampleRateConverter

Module: SampleRateConverter
Category: Media

Description

A binding for lib sample rate.

Slot Index

Slots


Sandbox

Module: Core
Category: Core

Description

Sandbox can be used to run separate instances of Io within the same process.

Slot Index

Slots

doSandboxString(aString)

Evaluate aString inside the Sandbox.
messageCount

Returns a number containing the messageCount limit of the Sandbox.
printCallback(string)

default implementation is; method(string, string print)
setMessageCount(anInteger)

Sets the messageCount limit of the receiver.
setTimeLimit(aDouble)

Sets the time limit of the Sandbox.
timeLimit

Returns a number containing the time limit of calls made to the Sandbox.

Scheduler

Module: Core

Slot Index

Slots

currentCoroutine

Returns the currently running coroutine.
setTimers(aListOfTimers)

Sets the list of active timers.
setYieldingCoros(aListOfCoros)

Sets the list of yielding Coroutine objects.
timers

The List of active timers.
yieldingCoros

The List of yielding Coroutine objects.

Sequence

Module: Core
Category: Core

Description

A Sequence is a container for a list of data elements. Typically these elements are each 1 byte in size. A Sequence can be either mutable or immutable. When immutable, only the read-only methods can be used.

Terminology

Slot Index

*()
*=()
+()
+=()
-
-=()
..()
/()
/=()
<
<=
>
>=
EscapeRegex
Max
Min
abs
acos
afterSeq()
alignCenter()
alignLeft()
alignLeftInPlace()
alignRight()
allMatchesOfRegex()
alpha
append()
appendPathSeq()
appendSeq()
asBinaryNumber
asBuffer
asCapitalized
asFile
asFixedSizeType
asHTML
asHex
asHtml
asIoPath
asLowercase
asMessage()
asMutable
asNumber
asOSPath
asRegex
asSGML
asSimpleString
asString
asStruct()
asSymbol
asURL
asUTF16
asUTF32
asUTF8
asUppercase
asXML
asin
at()
atInsertSeq()
atPut()
atan
beforeSeq()
beginsWithSeq()
between()
betweenSeq
bitAt()
bitCount
bitwiseAnd()
bitwiseNot()
bitwiseOr()
bitwiseXor()
blue
byteAt()
cPrint
capitalize
ceil
clear
clipAfterSeq()
clipAfterStartOfSeq()
clipBeforeEndOfSeq()
clipBeforeSeq()
cloneAppendPath()
cloneAppendSeq
contains()
containsAnyCaseSeq()
containsSeq()
convertToFixedSizeType
convertToItemType()
copy()
cos
cosh
depth
distanceTo()
dotProduct()
drawAsLine
drawFilled
drawLineLoop
drawLineLoopi
drawQuad
drawQuadTo
duplicateIndexes
empty
encoding
endsWithSeq()
escape
escapeRegexChars
exp
fileName
findNthSeq()
findRegex()
findSeq()
findSeqs()
floor
foreach()
fromBase()
glClearColor
glColor
glNormal
glProject
glRotate
glScale
glTranslate
glTranslatei
glUnproject
glVertex
greaterThan()
greaterThanOrEqualTo()
green
hasMatchOfRegex()
hash
height
insertSeqEvery
interpolate()
interpolateInPlace()
isEmpty
isEqualAnyCase()
isLowercase
isMutable
isSymbol
isUppercase
isZero
itemSize
itemType
justSerialized
lastPathComponent
leaveThenRemove
lessThan()
lessThanOrEqualTo()
levenshtein
linePrint
log
log10
logicalAnd()
logicalOr()
lowercase
lstrip()
makeFirstCharacterLowercase
makeFirstCharacterUppercase
matchesOfRegex()
matchesRegex()
max
md5
md5String
mean
meanSquare
min
negate
nextInSequence
normalize
occurancesOfSeq()
orderedSplit
pathComponent
pathExtension
preallocateToSize()
prependSeq()
print
product
rangeFill
red
removeAt()
removeEvenIndexes
removeLast
removeOddIndexes
removePrefix()
removeSeq()
removeSlice()
removeSuffix()
repeated()
replaceFirstSeq()
replaceMap()
replaceSeq()
reverse
reverseFindSeq()
rootMeanSquare
rstrip()
sequenceSets
set()
setAlpha
setBlue
setDepth
setEncoding()
setGreen
setHeight
setItemType()
setItemsToDouble()
setItemsToLong()
setRed
setSize()
setWidth
setX
setY
setZ
sha1
sha1String
sin
sinh
size
sizeInBytes
slice()
slicesBetween
sort
split()
splitAt()
splitAtRegex()
splitNoEmpties
sqrt
square
strip()
sum
tan
tanh
to
toBase()
toBy
translate()
unescape
uppercase
whiteSpaceStrings
width
with()
withStruct()
writeToStream
x
y
z
zCompress
zUncompress
zero

Slots

*(aSeq)

Multiplies the values of aSeq to the corresponding values of the receiver returning a new vector with the result. Only works on Sequences whose item type is numeric.
*=(aSeq)

Multiplies the values of aSeq to the corresponding values of the receiver. Only works on Sequences whose item type is numeric. Returns self.
+(aSeq)

Vector addition - Adds the values of aSeq to the corresponding values of the receiver returning a new vector with the result. Only works on Sequences whose item type is numeric.
+=(aSeq)

Vector addition - adds the values of aSeq to those of the receiver. Only works on Sequences whose item type is numeric. Returns self.
-

undocumented
-=(aSeq)

Vector subtraction - subtracts the values of aSeq to those of the receiver. Only works on Sequences whose item type is numeric. Returns self.
..(aSequence)

Returns a copy of the receiver with aSequence appended to it.
/(aSeq)

Divides the values of aSeq to the corresponding values of the receiver returning a new vector with the result. Only works on Sequences whose item type is numeric.
/=(aSeq)

Divides the values of aSeq to the corresponding values of the receiver. Only works on Sequences whose item type is numeric. Returns self.
<

undocumented
<=

undocumented
>

undocumented
>=

undocumented
EscapeRegex

undocumented
Max

Returns the maximum value in the sequence.
Min

Returns the minimum value in the sequence.
abs

Sets each value of the Sequence to it's absolute value. Returns self.
acos

Sets each value of the Sequence to the trigomentic arcsine of it's value. Returns self.
afterSeq(aSequence)

Returns the slice of the receiver (as a Symbol) after aSequence or nil if aSequence is not found. If aSequence is empty, the receiver (or a copy of the receiver if it is mutable) is returned.
alignCenter(width, [padding]) ""

Example: Io> "abc" alignCenter(10, "-") ==> ---abc---- Io> "abc" alignCenter(10, "-=") ==> -=-abc-=-=
alignLeft(width, [padding])

Example:

Io> "abc" alignLeft(10, "+") ==> abc+++++++ Io> "abc" alignLeft(10, "-=") ==> abc-=-=-=-

alignLeftInPlace(width, [padding])

Same as align left but operation is performed on the receiver.
alignRight(width, [padding])

Example:

Io> "abc" alignRight(10, "-") ==> -------abc Io> "abc" alignRight(10, "-=") ==> -=-=-=-abc

allMatchesOfRegex(aRegexOrString)

Returns a List containing all matches of the given regex found in the receiver.
alpha

undocumented
append(aNumber)

Appends aNumber (cast to a byte) to the receiver. Returns self.
appendPathSeq(aSeq)

Appends argument to the receiver such that there is one and only one path separator between the two. Returns self.
appendSeq(object1, object2, ...)

Calls asString on the arguments and appends the string to the receiver. Returns self.
asBinaryNumber

Returns a Number containing the first 8 bytes of the receiver without casting them to a double.
asBuffer

undocumented
asCapitalized

Returns a copy of the receiver with the first charater made uppercase.
asFile

Returns a new File object with the receiver as it's path.
asFixedSizeType

Returns a new sequence with the receiver encoded in the minimal fixed width text encoding that it's characters can fit into (either, ascii, utf8, utf16 or utf32).
asHTML

undocumented
asHex

Returns a hex string for the receiving sequence, e.g., \"abc\" asHex -> \"616263\".")
asHtml

undocumented
asIoPath

Returns a Io style path for an OS style path.
asLowercase

Returns a symbol containing the reveiver made Lowercase.
asMessage(optionalLabel)

Returns the compiled message object for the string.
asMutable

Returns a mutable copy of the receiver.
asNumber

Returns the receiver converted to a number. Initial whitespace is ignored.
asOSPath

Returns a OS style path for an Io style path.
asRegex

Returns a new Regex created from the receiver.
asSGML

undocumented
asSimpleString

undocumented
asString

undocumented
asStruct(memberList)

For a sequence that contains the data for a raw memory data structure (as used in C), this method can be used to extract it's members into an Object. The memberList argument specifies the layout of the datastructure. It's form is:

list(memberType1, memberName1, memberType2, memberName2, ...)

Member types include:

int8, int16, int32, int64
uint8, uint16, uint32, uint64
float32, float64 
Example:
pointObject := structPointSeq asStruct(list("float32", "x", "float32", "y"))
The output pointObject would contain x and y slots with Number objects.
asSymbol

Returns a immutable Sequence (aka Symbol) version of the receiver.
asURL

Returns a new URL object instance with the receiver as it's url string.
asUTF16

Returns a new copy of the receiver converted to utf16 encoding.
asUTF32

Returns a new copy of the receiver converted to utf32 encoding.
asUTF8

Returns a new copy of the receiver converted to utf8 encoding.
asUppercase

Returns a symbol containing the reveiver made uppercase.
asXML

undocumented
asin

Sets each value of the Sequence to the trigomentic arcsine of it's value. Returns self.
at(aNumber)

Returns a value at the index specified by aNumber. Returns nil if the index is out of bounds.
atInsertSeq(indexNumber, object)

Calls asString on object and inserts the string at position indexNumber. Returns self.
atPut(aNumberIndex, aNumber)

Sets the value at the index specified by aNumberIndex to aNumber. Returns self.
atan

Sets each value of the Sequence to the trigomentic arctangent of it's value. Returns self.
beforeSeq(aSequence)

Returns the slice of the receiver (as a Symbol) before aSequence or self if aSequence is not found.
beginsWithSeq(aSequence)

Returns true if the receiver begins with aSequence, false otherwise.
between(aSequence, anotherSequence)

Returns a new Sequence containing the bytes between the occurance of aSequence and anotherSequence in the receiver.
betweenSeq

undocumented
bitAt(bitIndex)

Returns a Number containing the bit at the bit index value.
bitCount

Returns the number of bits in the sequence.
bitwiseAnd(aSequence)

Updates the receiver to be the result of a bitwiseAnd with aSequence. Returns self.
bitwiseNot(aSequence)

Updates the receiver to be the result of a bitwiseNot with aSequence. Returns self.
bitwiseOr(aSequence)

Updates the receiver to be the result of a bitwiseOr with aSequence. Returns self.
bitwiseXor(aSequence)

Updates the receiver to be the result of a bitwiseXor with aSequence. Returns self.
blue

undocumented
byteAt(byteIndex)

Returns a Number containing the byte at the byte index value.
cPrint

undocumented
capitalize

First charater of the receiver is made uppercase.
ceil

Round each value to smallest integral value not less than x. Returns self.
clear

Set all values in the sequence to 0. Returns self.
clipAfterSeq(aSequence)

Removes the contents of the receiver after the end of the first occurance of aSequence. Returns true if anything was removed, or false otherwise.
clipAfterStartOfSeq(aSequence)

Removes the contents of the receiver after the beginning of the first occurance of aSequence. Returns true if anything was removed, or false otherwise.
clipBeforeEndOfSeq(aSequence)

Removes the contents of the receiver before the end of the first occurance of aSequence. Returns true if anything was removed, or false otherwise.
clipBeforeSeq(aSequence)

Clips receiver before aSequence.
cloneAppendPath(aSequence)

Appends argument to a copy the receiver such that there is one and only one path separator between the two and returns the result.
cloneAppendSeq

undocumented
contains(aNumber)

Returns true if the receiver contains an element equal in value to aNumber, false otherwise.
containsAnyCaseSeq(aSequence)

Returns true if the receiver contains the aSequence regardless of casing, false otherwise.
containsSeq(aSequence)

Returns true if the receiver contains the substring aSequence, false otherwise.
convertToFixedSizeType

undocumented
convertToItemType(aTypeName)

Converts the underlying machine type for the elements, expanding or contracting the size of the Sequence as needed. Valid names are uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32, and float64. Note that 64 bit types are only available on platforms that support such types. Returns self.
copy(aSequence)

Replaces the bytes of the receiver with a copy of those in aSequence. Returns self.
cos

undocumented
cosh

Sets each value of the Sequence to the hyperbolic cosine of it's value. Returns self.
depth

undocumented
distanceTo(aSeq)

Returns a number with the square root of the sum of the square of the differences of the items between the sequences.
dotProduct(aSeq)

Returns a new Sequence containing the dot product of the receiver with aSeq.
drawAsLine

undocumented
drawFilled

undocumented
drawLineLoop

undocumented
drawLineLoopi

undocumented
drawQuad

undocumented
drawQuadTo

undocumented
duplicateIndexes

Duplicates all indexes in the receiver. For example, list(1,2,3) duplicateIndexes == list(1,1,2,2,3,3). Returns self.
empty

Sets all bytes in the receiver to 0x0 and sets it's length to 0. Returns self.
encoding

Returns the encoding of the elements.
endsWithSeq(aSequence)

Returns true if the receiver ends with aSequence, false otherwise.
escape

Escape characters in the receiver are replaced with escape codes. For example a string containing a single return character would contain the following 2 characters after being escaped: "\n". Returns self.
escapeRegexChars

Returns a clone of the receiver with all special regular expression characters ("^", "$", etc) backslashed. Useful if you have a string that contains such characters, but want it to be treated as a literal string.
exp

Sets each value of the Sequence to the base 10 log of it's value. Returns self.
fileName

Returns the last path component sans the path extension.
findNthSeq(aSequence, n)

Returns a number with the nth occurence of aSequence")
findRegex(aRegexOrString, [startIndex])

Returns the first match of the given regex in the receiver, after the given start index. If you don't specify a start index, the search will start at the beginning of the receiver. The method returns nil if no match is found.
findSeq(aSequence, optionalStartIndex)

Returns a number with the first occurrence of aSequence in the receiver after the startIndex. If no startIndex is specified, the search starts at index 0. nil is returned if no occurences are found.
findSeqs(listOfSequences, optionalStartIndex)

Returns a object with two slots - an \"index\" slot which contains the first occurrence of any of the sequences in listOfSequences found in the receiver after the startIndex, and a \"match\" slot, which contains a reference to the matching sequence from listOfSequences. If no startIndex is specified, the search starts at index 0. nil is returned if no occurences are found.
floor

Round each value to largest integral value not greater than x. Returns self.
foreach(optionalIndex, value, message)

For each element, set index to the index of the element and value the element value and execute message. Example:
	
aSequence foreach(i, v, writeln("value at index ", i, " is ", v))
aSequence foreach(v, writeln("value ", v))
fromBase(aNumber)

Returns a number with a base 10 representation of the receiver converted from the specified base. Only base 2 through 32 are currently supported.
glClearColor

undocumented
glColor

undocumented
glNormal

undocumented
glProject

undocumented
glRotate

undocumented
glScale

undocumented
glTranslate

undocumented
glTranslatei

undocumented
glUnproject

undocumented
glVertex

undocumented
greaterThan(aSeq)

Returns true if the receiver is greater than aSeq, false otherwise.
greaterThanOrEqualTo(aSeq)

Returns true if the receiver is greater than or equal to aSeq, false otherwise.
green

undocumented
hasMatchOfRegex(aRegexOrString)

Returns true if the string contains one or more matches of the given regex.
hash

Returns a Number containing a hash of the Sequence.
height

undocumented
insertSeqEvery

undocumented
interpolate(ctx)

Returns immutable copy of self with interpolateInPlace(ctx) passed to the copy.
interpolateInPlace(optionalContext)

Replaces all #{expression} with expression evaluated in the optionalContext. If optionalContext not given, the current context is used. Returns self.
isEmpty

Returns true if the size of the receiver is 0, false otherwise.
isEqualAnyCase(aSequence)

Returns true if aSequence is equal to the receiver ignoring case differences, false otherwise.
isLowercase

Returns self if all the characters in the string are lower case.
isMutable

Returns true if the receiver is a mutable Sequence or false otherwise.
isSymbol

Returns true if the receiver is a immutable Sequence (aka, a Symbol) or false otherwise.
isUppercase

Returns self if all the characters in the string are upper case.
isZero

Returns true if all elements are 0, false otherwise.
itemSize

Returns number of bytes in each element.
itemType

Returns machine type of elements.
justSerialized

undocumented
lastPathComponent

Returns a string containing the receiver clipped up to the last path separator.
leaveThenRemove

undocumented
lessThan(aSeq)

Returns true if the receiver is lass than aSeq, false otherwise.
lessThanOrEqualTo(aSeq)

Returns true if the receiver is lass than or equal to aSeq, false otherwise.
levenshtein

undocumented
linePrint

Prints the Sequence and a newline character.
log

undocumented
log10

undocumented
logicalAnd(aSequence)

Updates the receive's values to be the result of a logical OR operatiosn with the values of aSequence. Returns self.
logicalOr(aSequence)

Updates the receive's values to be the result of a logical OR operatiosn with the values of aSequence. Returns self.
lowercase

Makes all the uppercase characters in the receiver lowercase. Returns self.
lstrip(aSequence)

Strips the characters in aSequence stripped from the beginning of the receiver. Example:

	
"Keep the tail" lstrip(" eKp")
==> "the tail"
makeFirstCharacterLowercase

undocumented
makeFirstCharacterUppercase

undocumented
matchesOfRegex(aRegexOrString)

Returns a RegexMatches object that enumerates all matches of the given regex in the receiver.
matchesRegex(aRegexOrString)

Returns true if the receiver matches the given regex, false if not.
max

undocumented
md5

undocumented
md5String

undocumented
mean

Returns the arithmetic mean of the sequence's values after they have been squared.
meanSquare

undocumented
min

Returns the maximum value of the Sequence.
negate

Negates the values of the receiver. Returns self.
nextInSequence

undocumented
normalize

Divides each value of the Sequence by the max value of the sequence. Returns self.
occurancesOfSeq(aSeq)

Returns count of aSeq in the receiver.
orderedSplit

undocumented
pathComponent

Returns a slice of the receiver before the last path separator as a symbol.
pathExtension

Returns a string containing the receiver clipped up to the last period.
preallocateToSize(aNumber)

If needed, resize the memory alloced for the receivers byte array to be large enough to fit the number of bytes specified by aNumber. This is useful for pio_reallocating the memory so it doesn't keep getting allocated as the Sequence is appended to. This operation will not change the Sequence's length or contents. Returns self.
prependSeq(object1, object2, ...)

Prepends given objects asString in reverse order to the receiver. Returns self.")
print

Prints the receiver as a string. Returns self.
product

Returns the product of all the sequence's values multipled together.
rangeFill

Sets each value of the Sequence to the trigomentic cosine of it's value. Returns self.
red

undocumented
removeAt(index)

Removes the item at index. Returns self.
removeEvenIndexes

Removes even indexes in the receiver. For example, list(1,2,3) removeEvenIndexes == list(1, 3). Returns self.
removeLast

Removes the last element from the receiver. Returns self.
removeOddIndexes

Removes odd indexes in the receiver. For example, list(1,2,3) removeOddIndexes == list(2). Returns self.
removePrefix(aSequence)

If the receiver begins with aSequence, it is removed. Returns self.
removeSeq(aSequence)

Removes occurances of aSequence from the receiver.
removeSlice(startIndex, endIndex)

Removes the items from startIndex to endIndex. Returns self.
removeSuffix(aSequence)

If the receiver end with aSequence, it is removed. Returns self.
repeated(n)

Returns a new sequence containing the receiver repeated n number of times.
replaceFirstSeq(aSequence, anotherSequence, optionalStartIndex)

Returns a new Sequence with the first occurance of aSequence replaced with anotherSequence in the receiver. If optionalStartIndex is provided, the search for aSequence begins at that index. Returns self.
replaceMap(aMap)

In the receiver, the keys of aMap replaced with it's values. Returns self.
replaceSeq(aSequence, anotherSequence)

Returns a new Sequence with all occurances of aSequence replaced with anotherSequence in the receiver. Returns self.
reverse

Reverses the bytes in the receiver, in-place.
reverseFindSeq(aSequence, startIndex)

Returns a number with the first occurrence of aSequence in the receiver before the startIndex. The startIndex argument is optional. By default reverseFind starts at the end of the string. Nil is returned if no occurrences are found.
rootMeanSquare

undocumented
rstrip(aSequence)

Strips the characters in aSequence stripped from the end of the receiver. Example:
	
"Cut the tail off" rstrip(" afilot")
==> "Cut the"
sequenceSets

undocumented
set(aNumber1, aNumber2, ...)

Sets the values of the receiver to the sequences of numbers in the arguments. Unset values will remain unchanged. Returns self.
setAlpha

undocumented
setBlue

undocumented
setDepth

undocumented
setEncoding(encodingName)

Sets the encoding flag of the receiver (only the encoding flag, itemSize and itemType will change, no conversion is done between UTF encodings - you can use convertToUTF8, etc methods for conversions). Valid encodings are number, utf8, utf16, and utf32. Returns self.
setGreen

undocumented
setHeight

undocumented
setItemType(aTypeName)

Sets the underlying machine type for the elements. Valid names are uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32, and float64. Note that 64 bit types are only available on platforms that support such types. Returns self.
setItemsToDouble(aNumber)

Sets all items in the Sequence to the double floating point value of aNumber.
setItemsToLong(aNumber)

Sets all items in the Sequence to the long integer value of aNumber.
setRed

undocumented
setSize(aNumber)

Sets the length in bytes of the receiver to aNumber. Return self.
setWidth

undocumented
setX

undocumented
setY

undocumented
setZ

undocumented
sha1

undocumented
sha1String

undocumented
sin

undocumented
sinh

Sets each value of the Sequence to the hyperbolic sine of it's value. Returns self.
size

Returns the length in number of items (which may or may not be the number of bytes, depending on the item type) of the receiver. For example,

	
"abc" size == 3
sizeInBytes

Returns the length in bytes of the receiver.
slice(startIndex, endIndex)

Returns a new string containing the subset of the receiver from the startIndex to the endIndex. The endIndex argument is optional. If not given, it is assumed to be the end of the string.
slicesBetween

undocumented
sort

Sorts the characters/numbers the array. Returns self.
split(optionalArg1, optionalArg2, ...)

Returns a list containing the non-empty sub-sequences of the receiver divided by the given arguments. If no arguments are given the sequence is split on white space. Examples: "a b c d" splitNoEmpties => list("a", "b", "c", "d") "a***b**c*d" splitNoEmpties("*") => list("a", "b", "c", "d") "a***b||c,d" splitNoEmpties("*", "|", ",") => list("a", "b", "c", "d")
splitAt(indexNumber)

Returns a list containing the two parts of the receiver as split at the given index.
splitAtRegex(aRegexOrString)

Splits the receiver into pieces using the given regex as the delimiter and returns the pieces as a list of strings.
splitNoEmpties

undocumented
sqrt

Sets each value of the Sequence to the square root of it's value. Returns self.
square

Sets each value of the Sequence to the square of it's value. Returns self.
strip(optionalSequence)

Trims the whitespace (or optionalSequence) off both ends:

	
"   Trim this string   \r\n" strip
==> "Trim this string"
sum

Returns the sum of the Sequence.
tan

Sets each value of the Sequence to the trigomentic tangent of it's value. Returns self.
tanh

Sets each value of the Sequence to the hyperbolic tangent of it's value. Returns self.
to

undocumented
toBase(aNumber)

Returns a Sequence containing the receiver(which is assumed to be a base 10 number) converted to the specified base. Only base 8 and 16 are currently supported.
toBy

undocumented
translate(fromChars, toChars)

In the receiver, the characters in fromChars are replaced with those in the same positions in toChars. Returns self.
unescape

Escape codes replaced with escape characters. Returns self.
uppercase

Makes all characters of the receiver uppercase.
whiteSpaceStrings

Returns a List of strings. Each string contains a different whitespace character.
width

undocumented
with(aSequence, ...)

Returns a new Sequence which is the concatination of the arguments. The returned sequence will have the same mutability status as the receiver.
withStruct(memberList)

This method is useful for producing a Sequence containing a raw datastructure with the specified types and values. The memberList format is:

list(memberType1, memberName1, memberType2, memberName2, ...)

Member types include:

int8, int16, int32, int64
uint8, uint16, uint32, uint64
float32, float64 
Example:
pointStructSeq := Sequence withStruct(list("float32", 1.2, "float32", 3.5))
The output pointStructSeq would contain 2 raw 32 bit floats.
writeToStream

undocumented
x

undocumented
y

undocumented
z

undocumented
zCompress

undocumented
zUncompress

undocumented
zero

undocumented

Server

Module: Socket
Category: Networking

Description

The Server object provides a simple interface for running a server. You just need to set the port and define a handleSocket method. Here's an example of an echo server:
Echo := Object clone
Echo handleSocketFromServer := method(aSocket, aServer,
  write("[Got echo connection from ", aSocket host, "]\n")
  while(aSocket isOpen,
   if(aSocket read, aSocket write(aSocket readBuffer asString))
   aSocket readBuffer empty
  )
  write("[Closed ", aSocket host, "]\n")
)

write("[Starting echo server on port 8456]\n")
server := Server clone setPort(8456)
server handleSocket := method(aSocket,
  Echo clone @handleSocketFromServer(aSocket, self)
)
server start
Notes

Io's use of lightweight threading and select for dealing with sockets makes for servers that are much more efficient(both memory and cpu wise) than those written with kernel threads and socket polling.

Slot Index

Slots

handleSocket(aSocket)

This method is called when the server accepts a new socket. The new sockets is passed as the argument. Override this method in your own server subclass. The default implementation raises an exception.
port

Returns the port on which the server will listen for connections.
setHost(hostName)

Sets the hostName. Returns self.
setPort(aNumber)

Sets the port on which the server will listen for connections. Returns self.
start

Starts the server. This method will not return until server is stopped, so you may want to send the start message as an asynchronous message. Returns self or an Error, if one occurs.
stop

Stops the server if it is running. Returns self.

SignalEvent

Module: Socket
Category: Networking

Description

Object for signal events.

Slot Index

Slots

eventType

undocumented

SkipDB

Module: SkipDB
Category: Databases

Description

A key/value database.

Slot Index

Slots

at(keySymbol)

Returns a Sequence for the value at the given key or nil if there is no such key.
atPut(keySymbol, valueSequence)

Sets the value of valueSequence with the key keySymbol. Returns self.
atRemove(keySymbol)

Removes the specified key. Returns self
cursor

Returns a new cursor to enumerate the receiver.
headerPid

Returns the headerPid number.
size

Returns the number of keys in the receiver.

SkipDBCursor

Module: SkipDB
Category: Databases")

Description

An interator object for a SkipDB.

Slot Index

Slots

first

Move cursor to first item. Returns self.
goto(aKey)

Move cursor to the specified key or nearest preceeding key. Returns self
key

Returns the current cursor key, or nil if the cursor is out of range.
last

Move cursor to last item. Returns self.
next

Move cursor to next item. Returns self.
previous

Move cursor to previous item. Returns self.
value

Returns the current cursor key, or nil if the cursor is out of range.

SkipDBM

Module: SkipDB
Category: Databases")

Description

SkipDB is a skip-list based key-value database. SkipDBM manages any number of skipdbs within the same file. The root skipdb can be accessed using the root method.") docObject

Slot Index

Slots

at(pidNumber)

Returns the SkipDB at the specified persistent ID or nil if it is not found.
beginTransaction

Begin a transaction. Returns self.
close

Closes the dbm.
commitTransaction

Commit a transaction. Returns self.
compact

Compacts the database. Returns self.
delete

Deletes the db. Returns self.
open

Opens the dbm. Returns self.
path

Returns the path to the dbm. Returns self.
root

Returns the root SkipDB.
setPath(aString)

Sets the path to the dbm folder. Returns self.

Socket

Module: Socket
Category: Networking

Slot Index

Slots

acceptTimeout

Returns the length of time in seconds for accept timeouts on the socket.
appendToWriteBuffer(aSequence)

Appends aSequence to the write buffer if it is non-nil. Returns self.
asyncAccept(ipAddressObject)

Immediately returns a socket for an connection if one is available or nil otherwise. Returns an Error object on error.
asyncBind

Binds the socket and returns self immediately or an Error object on error.
asyncConnect(ipAddressObject)

Connects ti the given IPAddress and returns self or an Error object on error.
asyncListen

Listens to the socket and returns self immediately or an Error object on error.
asyncStreamOpen

Submits an async request to open the socket in stream mode and returns self immediately or an Error object on error.
asyncStreamRead(aSeq, readSize)

Reads up to readSize number of bytes into aSeq if data is available. Returns self immediately if successful. Returns an error object on Error. Returns nil if the socket is disconnected.
asyncStreamWrite(aSeq, start, writeSize)

Writes the slice of aSeq from start to start + writeSize to the socket. Returns self immediately if successful, otherwise closes the socket. Returns an error object on Error. Returns nil if the socket is disconnected.
asyncUdpOpen

Submits an async request to open the socket in UDP mode and returns self immediately or an Error object on error.
asyncUdpRead(ipAddress, aSeq, readSize)

Reads up to readSize number of bytes from ipAddress into aSeq if data is available. Returns self immediately if successful. Returns an error object on Error. Returns nil if the socket is disconnected.
asyncUdpWrite(ipAddress, aSeq, startIndex, readSize)

Writes readsize bytes from aSeq starting at startIndex to ipAddress. Returns self immediately if successful. Returns an error object on Error. Returns nil if the socket is disconnected.
bytesPerRead

Returns number of bytes to read per read call.
bytesPerWrite

Returns number of bytes to write per write call.
close

Closes the socket and returns self. Returns nil on error.
connect

Connects to the socket's host. Returns self on success or an Error object on error.
connectTimeout

Returns the length of time in seconds for connect timeouts on the socket.
descriptorId

Returns the socket's file descriptor id as a Number.
errorDescription

Returns a description of the last error on the socket as a string.
errorNumber

Returns the socket error number for the last error.
getSocketReadLowWaterMark

Returns the read low water mark for the socket on success or nil on error.
getSocketWriteLowWaterMark

Returns the write low water mark for the socket on success or nil on error.
host

Returns the host for the socket.
ipAddress

Returns the IpAddress object for the socket.
isOpen

Returns true if the socket is open, false otherwise.
isStream

Returns true if the socket is a stream, false otherwise.
isValid

Returns true if the socket is in valid state, closes the socket and returns false otherwise.
port

Returns the port number for the socket.
readListMessage

A shortcut for List fromEncodedList(socket readMessage).
readMessage

Empties the readBuffer and reads a 4 byte uint32 in network byte order. This number is the number of bytes in the message payload which are then read into the socket's readBuffer. The readBuffer is returned.
readTimeout

Returns the length of time in seconds for read timeouts on the socket.
readUntilSeq(aSequence)

Reads the socket until it's readBuffer contains aSequence, then returns a Sequence containing the readBuffer's contents up to (but not including) aSequence and clips that section from the readBuffer.
serverOpen

Opens the socket as a stream, binds it to it's ipAddress and calls asyncListen to prepare the socket to accept connections. Returns self on success or an Error object on error.
serverWaitForConnection

Waits for a connection or timeout. When a connection is received, this method returns the connection socket. An Error object is returned on timeour or error.
setAcceptTimeout(seconds)

Sets the length of time in seconds for accept timeouts on the socket. Returns self.
setBytesPerRead(numberOfBytes)

Sets number of bytes to read per read call. Returns self.
setBytesPerWrite(numberOfBytes)

Sets number of bytes to write per write call. Returns self.
setConnectTimeout(seconds)

Sets the length of time in seconds for connect timeouts on the socket. Returns self.
setHost(hostName)

Translates hostName to an IP using asynchronous DNS and sets the host attribute. Returns self.
setHost(hostNameOrIpString)

Set the host for the socket. Returns self on success, an Error object otherwise.
setIpAddress(ipAddressObject)

Sets the ipAddress for the socket. Returns self. The setHost() method should generally be used to set the host instead of this method.
setNoDelay

Sets the socket to be no-delay. Returns self on success or nil on error.
setPort(portNumber)

Sets the port number for the socket, returns self.
setReadTimeout(seconds)

Sets the length of time in seconds for read timeouts on the socket. Returns self.
setSocketReadBufferSize(numberOfBytes)

Sets the read buffer size for the socket. Returns self on success or nil on error.
setSocketReadLowWaterMark(numberOfBytes)

Sets the read low water mark for the socket. Returns self on success or nil on error.
setSocketWriteBufferSize(numberOfBytes)

Sets the write buffer size for the socket. Returns self on success or nil on error.
setSocketWriteLowWaterMark(numberOfBytes)

Sets the write low water mark for the socket. Returns self on success or nil on error.
setWriteTimeout(seconds)

Sets the length of time in seconds for write timeouts on the socket. Returns self.
streamOpen

Opens the socket in stream mode. Returns self.
streamRead(numberOfBytes)

Reads numberOfBytes from the socket into the socket's readBuffer. Returns self when all bytes are read or an Error object on error.
streamReadNextChunk(optionalProgressBlock)

Waits for incoming data on the socket and when found, reads any available data and returns self. Returns self on success or an Error object on error or timeout.
streamReadWhileOpen

Reads the stream into the socket's readBuffer until it closes. Returns self on success or an Error object on error.
streamWrite(buffer, optionalProgressBlock)

Write's buffer to the socket. If optionalProgressBlock is supplied, it is periodically called with the number of bytes written as an argument. Returns self on success or an Error object on error.
udpOpen

Opens the socket in UDP (connectionless) mode. Returns self.
udpRead(ipAddress, numBytes)

Waits for and reads numBytes of udp data from the specified ipAddress into the socket's readBuffer. Returns self on success or an Error object on error.
udpReadNextChunk(ipAddress)

Waits to receive UDP data from the specified ipAddress. As soon as any data is available, it reads all of it into the socket's readBuffer. Returns self on success or an Error object on error.
udpWrite

Same as asyncUdpWrite.
writeFromBuffer(optionalProgressBlock)

Write's the contents of the socket's writeBuffer to the socket. If optionalProgressBlock is supplied, it is periodically called with the number of bytes written as an argument. Returns self on success or an Error object on error.
writeListMessage(aList)

A shortcut for writeMessage(aList asEncodedList).
writeMessage(aSeq)

Writes a 4 byte uint32 in network byte order containing the size of aSeq. Then writes the bytes in aSeq and returns self.
writeTimeout

Returns the length of time in seconds for write timeouts on the socket.

SoundTouch

Module: SoundTouch
Category: Media

Description

Used to change the tempo and/or pitch of an audio stream. Input and output are in 32 bit floats in 2 channels at a rate of 44100 samples per second.

Slot Index

Slots

inputBuffer

Returns the input buffer.
outputBuffer

Returns the output buffer.
process

Processes a chunk of the inputBuffer and appends the results to the outputBuffer.
setChannels(aNumber)

Sets the number of input channels.
setPitchSemitones(aNumber)

Sets the output increase in pitch semitones.
setSampleRate(aNumber)

Sets the input sample rate in Hz.
setTempo(aNumber)

Sets the tempo.
setTempoChange(aNumber)

Sets the tempo change amount.
start

Cleans up SoundTouch.

State

Module: Core

Slot Index

Slots


Syslog

Module: Syslog
Category: Server

Description

Provides access to a Unix system's system logger.

logger = Syslog clone do(
	identity("SyslogTest")
	facility(facilityMap at("LOG_USER"))
	options(List append(optionsMap at("LOG_PID"), optionsMap at("LOG_CONS")))
	priority(priorityMap at("LOG_INFO"))
	open(facility, options)
	mask(List append(maskMap at("LOG_PRIMASK")))
	log(priority, "*** Merely a test ***")
	close
)

Note: This is partially tested. Please let me know of any problems you happen to stumble across, or if it could be better. --Jeremy Tregunna

Slot Index

Slots

close

Closes a log that has previously been opened for writing.")
facility(optionalFacility)

Specifies the logging facility, which can be one of any of the values found in the facilityMap map. If optionalFacility is omitted, returns the currently set facility.
facilityMap

Contains the following keys, which represent numbers that can be used when opening a log:

  • LOG_KERN
  • LOG_USER
  • LOG_MAIL
  • LOG_DAEMON
  • LOG_AUTH
  • LOG_SYSLOG
  • LOG_LPR
  • LOG_NEWS
  • LOG_UUCP
  • LOG_CRON
  • LOG_AUTHPRIV
  • LOG_FTP
  • LOG_RESERVED0
  • LOG_RESERVED1
  • LOG_RESERVED2
  • LOG_RESERVED3
  • LOG_LOCAL0
  • LOG_LOCAL1
  • LOG_LOCAL2
  • LOG_LOCAL3
  • LOG_LOCAL4
  • LOG_LOCAL5
  • LOG_LOCAL6
  • LOG_LOCAL7
identity(optionalIdentity)

If optionalIdentity is specified, provides an identity for all of the messages you will be sending to the syslog daemon. Returns the identity.")
isOpen

Returns self if the log is opened for writing. Otherwise, returns Nil.")
log

Writes the supplied data to the log. Requires 2 arguments:

  • Logging Priority
  • Message to log
mask(optionalMask)

If optionalMask is specified, optionalMask is a list which contains any one or more values stored in the maskMap hash that will be OR'd together, to provide the proper mask. Returns the logging mask (as a List).
maskMap

Contains keys/value pairs which represent numbers that specify the logging mask. These values may be any one (or more) of the following:

  • LOG_PRIMASK
  • LOG_FACMASK
open(aPriority, someOptions, optionalIdentity)

Opens the syslog for writing. optionalIdentity need not be entered and will default to the name of the distribution of Io you are running or if you have embedded Io into your application and set Lobby distribution = "foo", it will be set to "foo".
options(optionalOptions)

If optionalOptions is specified, it should represent a list of the logging options you can find in the optionsMap slot. All the values in the supplied aList will be OR'd together when you call the open or reopen slots. Returns the list of options if optionalFacility is omitted.
optionsMap

A map containing key/value pairs holding all available options. These include:

  • LOG_PID
  • LOG_CONS
  • LOG_ODELAY
  • LOG_NDELAY
  • LOG_NOWAIT
  • LOG_PERROR
priority(optionalPriority)

If optionalPriority is specified, sets the value, and returns it. If no value is specified, will return the previously stored value if one has been set previously.
priorityMap

Contains key/value pairs for logging priorities for use when calling the log() method. These include:

  • LOG_EMERG
  • LOG_ALERT
  • LOG_CRIT
  • LOG_ERR
  • LOG_WARNING
  • LOG_NOTICE
  • LOG_INFO
  • LOG_DEBUG
reopen(aFacility, someOptions, optionalIdentity)

Reopens an already open log session. This is useful if you wish to change the facility you are logging to, the options you are logging with, or the identity of the session. Takes the same options as the open slot.

System

Module: Core
Category: Core

Slot Index

Slots

activeCpus

Returns the number of active CPUs.
args

Returns the list of command line argument strings the program was run with.")
distribution

Returns the Io distribution name as a string.
errorNumber

Returns the C errno string.
exit(optionalReturnCodeNumber)

Shutdown the IoState (io_free all objects) and return control to the calling program (if any).
getEnvironmentVariable(nameString)

Returns a string with the value of the environment variable whose name is specified by nameString.
getOptions(args)

This primitive is used to get command line options similar to Cs getopt(). It returns a map in containing the left side of the argument, with the value of the right side. (The key will not contain the beginning dashes (--).

Example: options := System getOptions(args) options foreach(k, v, if(v type == List type, v foreach(i, j, writeln(\"Got unnamed argument with value: \" .. j)) continue ) writeln(\"Got option: \" .. k .. \" with value: \" .. v) )

installPrefix

Returns the root path where io was install. The default is /usr/local.
ioPath

Returns the path of io installation. The default is $INSTALL_PREFIX/lib/io.
launchPath

undocumented
launchScript

Returns the path of the io file run on the command line. Returns nil if no file was run.
maxRecycledObjects

Returns the max number of recycled objects used.
platform

Returns a string description of the platform.
platformVersion

Returns the version id of the OS.
recycledObjectCount

Returns the current number of objects being held for recycling.
setEnvironmentVariable(keyString, valueString)

Sets the environment variable keyString to the value valueString.
setLobby(anObject)

Sets the root object of the garbage collector.
setMaxRecycledObjects(aNumber)

Sets the max number of recycled objects used.
sleep(secondsNumber)

Performs a *blocking* sleep call for specified number of seconds.
symbols

Returns a List containing all Symbols currently in the system.
system(aString)

Makes a system call and returns a Number for the return value.
userInterruptHandler

Called when control-c is hit. Override to add custom behavior. Returns self.
version

Returns a version number for Io.

SystemCall

Module: SystemCall

Slot Index

Slots

arguments

undocumented
asyncRun(command, argList, envMap)

Run the system call.")
close

undocumented
command

undocumented
environment

undocumented
isRunning

undocumented
returnCode

undocumented
run

undocumented
runWith

undocumented
setArguments

undocumented
setCommand

undocumented
setEnvironment

undocumented
setIsRunning

undocumented
setReturnCode

undocumented
setStderr

undocumented
setStdin

undocumented
setStdout

undocumented
status

undocumented
stderr

undocumented
stdin

undocumented
stdout

undocumented
with

undocumented

Tag

Module: Core

Slot Index

Slots


TagLib

Module: TagLib
Category: Media

Description

Used to set tags on ape, flac, mp3, mpc, mpeg, and ogg files. The title, artist, album, year, track, genre slots can be written, and those plus the bitRate, sampleRate, channels and length slots can be read. To read, set the path slot and call the load method. To write, set the path and other slots and call the save method.

Slot Index

Slots

load

Loads tag data from the file specified in the path slot. Returns self.
save

Saves the tag settings and returns self.

Thread

Module: Thread
Category: Concurrency

Description

For native threads. Example use;
	
Thread createThread()

Slot Index

Slots

createThread

undocumented
threadCount

undocumented

TimerEvent

Module: Socket
Category: Networking

Description

Object for timer events.

Slot Index

Slots

eventType

undocumented

Token

Module: Core

Slot Index

Slots


TokyoCabinet

Module: TokyoCabinet
Category: Databases

Description

An ordered key/value database that supports transactions and arbitrary kay and value sizes.

Slot Index

Slots

_open

Private.
abort

Abort transaction. Returns self
at(keySymbol)

Returns a Sequence for the value at the given key or nil if there is no such key.
atAppend

undocumented
atApple(keySymbol, valueSequence)

Appends valueSequence to the current value at keySymbol. Returns self.
atPut(keySymbol, valueSequence)

Sets the value of valueSequence with the key keySymbol. Returns self.
atRemove(keySymbol)

Removes the specified key. Returns self
begin

Begin transaction. Returns self
close

Closes the database.
commit

Commit transaction. Returns self
cursor

Returns a new cursor object.
open(path)

Opens the database.
optimize

Optimizes the database. Returns self
path

Returns the path of the database file.
prefixCursor

Returns a new prefix cursor object.
removeAt

undocumented
setPath(aPath)

Sets the path of the database file. Returns self.
size

Returns number of records in database. Returns self
sizeAt(keySymbol)

Returns the size of the value at the given key or nil if there is no such key.
sync

Syncs the database. Returns self
transactionalAtPut(key, value)

Transactionally insert the given key and value. Returns self.
transactionalRemoveAt(key)

Transactionally remove the given key. Returns self.

TokyoCabinetCursor

Module: TokyoCabinet
Category: Databases

Description

A database cursor.

Slot Index

Slots

close

Closes the database.
first

Move cursor to first record. Returns self
jump(key)

Move cursor to record before key. Returns self
key

Returns current cursor key or nil.
last

Move cursor to last record. Returns self
next

Move cursor to next record. Returns true if there is another key, or false if there is no next record.
previous

Move cursor to previous record. Returns true if there is another key, or false if there is no previous record.
put(value)

Sets the value at the current cursor postion. Returns self.
remove

Removes the current cursor postion. Returns self.
value

Returns current cursor value or nil.

TokyoCabinetPrefixCursor

Module: TokyoCabinet
Category: Databases

Description

A database cursor.

Slot Index

Slots

close

Closes the database.
first

Move cursor to first record. Returns self
jump(key)

Move cursor to record before key. Returns self
key

Returns current cursor key or nil.
last

Move cursor to last record. Returns self
next

Move cursor to next record. Returns true if there is another key, or false if there is no next record.
previous

Move cursor to previous record. Returns true if there is another key, or false if there is no previous record.
put(value)

Sets the value at the current cursor postion. Returns self.
remove

Removes the current cursor postion. Returns self.
value

Returns current cursor value or nil.

URL

Module: Socket
Category: Networking

Slot Index

Slots

childUrl

undocumented
clear

Private method to clear the URL's parsed attributes.
connectAndWriteHeader

undocumented
escapeCodes

Returns a Map whose key/value pairs are special characters and their URL escape codes.
escapeString(aString)

Returns a new String that is aString with the appropriate characters replaced by their URL escape codes.
fetch

Fetches the url and returns the result as a Sequence. Returns an Error, if one occurs.
fetchHttp(optionalProgressBlock)

Private method that fetches an http url.
fetchRaw

Fetch and return the entire response. Note: This may have problems for some request times.
fetchToFile(aFile)

Fetch the url and save the result to the specified File object. Saving is done as the data is read, which help minimize memory usage. Returns self on success or nil on error.
fetchWithProgress(progressBlock)

Same as fetch, but with each read, progressBlock is called with the readBuffer and the content size as parameters.
fourCharheaderBreaks

undocumented
headerBreaks

Private method to connect to the host and write the header.
host

undocumented
openOnDesktop

Opens the URL in the local default browser. Supports OSX, Windows and (perhaps) other Unixes.
parse

Private method to parse the url.
post(data)

Sends an http post message. If data is a Map, it's key/value pairs are send as the post parameters. If data is a Sequence or String, it is sent directly. Returns a sequence containing the response on success or an Error, if one occurs.
processHttpResponse(optionalProgressBlock)

Private method that processes http response.
protocol

undocumented
readHeader

undocumented
referer

Returns the referer String or nil if not set.
requestHeader

Returns a Sequence containing the request header that will be sent.
setHost

undocumented
setProtocol

undocumented
setReadHeader(headerString)

Private method that parses the headerFields.
setReferer(aString)

Sets the referer. Returns self.
setRequest(requestString)

Private method to set the url request.
setSocketProto

undocumented
setStreamDestination

undocumented
setTimeout

undocumented
setURL(urlString)

Sets the url string and parses into the protocol, host, port path, and query slots. Returns self.
socketProto

undocumented
startStreaming

undocumented
stopFetch

Stops the fetch, if there is one. Returns self.
streamDestination

undocumented
test

Private test method.
twoCharheaderBreaks

undocumented
unescapeString(aString)

Returns a new String that is aString with the URL escape codes replaced by the appropriate characters.
unparse

undocumented
url

Returns url string.
with(urlString)

Returns a new URL instance for the url in the urlString.

UUID

Module: UUID
Category: Encryption

Description

Generates UUIDs/GUIDs.

Slot Index

Slots

urn

Returns the uuid with "urn:uuid:" prepended to it.
uuid

Returns a new uuid in string format.
uuidRandom

Returns a new random uuid (type 4) in string format.
uuidTime

Returns a new time and mac uuid (type 1) in string format.

UnitTest

Module: Core

Slot Index

Slots

assertEquals

undocumented
assertEqualsWithinDelta

undocumented
assertFalse

undocumented
assertNil

undocumented
assertNotEquals

undocumented
assertNotNil

undocumented
assertNotSame

undocumented
assertRaisesException

undocumented
assertSame

undocumented
assertTrue

undocumented
category

Testing
fail

undocumented
knownBug

undocumented
run

undocumented
setUp

undocumented
tearDown

undocumented
testCount

undocumented
testSlotNames

undocumented
verbose

undocumented

User

Module: User
Category: Server
Credits: Windows code by Mike Austin

Description

This object provides access to the local operating system's information about the current user.

Slot Index

Slots

homeDirectory

Returns the current user's home directory as a Directory object.
name

Returns the current user's name.

Vector

Module: OpenGL

Slot Index

Slots

average

undocumented
derivative

undocumented

Video

Module: AVCodec

Slot Index

Slots

audioOn

Whether or not the decoded audio is directed to the AudioDevice.
frameNumber

The current frame number.
isDone

undocumented
readNextFrame

undocumented
readNextFrame Decodes the next video frame into the receiver's image object.

Returns the image object if successful or nil otherwise.
setAudioOn(aBool)

Sets whether or not the decoded audio is directed to the AudioDevice. Returns self.
setFrameNumber(aNumber)

Private setter for frameNumber. Returns self.
setIsDone

undocumented

WeakLink

Module: Core
Category: Core

Description

A WeakLink is a primitive that can hold a reference to an object without preventing the garbage collector from collecting it. The link reference is set with the setLink() method. After the garbage collector collects an object, it informs any (uncollected) WeakLink objects whose link value pointed to that object by calling their "collectedLink" method.

Slot Index

Slots

link

Returns the link pointer or Nil if none is set.
setLink(aValue)

Sets the link pointer. Returns self.

WriteEvent

Module: Socket
Category: Networking

Description

Object for write events.

Slot Index

Slots

eventType

undocumented

ZlibDecoder

Module: Zlib
Category: Compression

Description

For Zlib uncompression. Example use;
	
bf = ZlibDecoder clone
bf beginProcessing
bf inputBuffer appendSeq(inputData)
bf process
bf endProcess
bf outputBuffer // this contains the output data

Slot Index

Slots

beginProcessing

Initializes the algorithm.
endProcessing

Finish processing remaining bytes of inputBuffer.
inputBuffer

undocumented
outputBuffer

undocumented
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is empties except for the spare bytes at the end which don't fit into a cipher block.
setInputBuffer

undocumented
setOutputBuffer

undocumented

ZlibEncoder

Module: Zlib
Category: Compression

Description

For Zlib compression. Example use:

	
bf = ZlibEncoder clone
bf beginProcessing
bf inputBuffer appendSeq("this is a message")
bf process
bf endProcess
bf outputBuffer // this contains the result data

Slot Index

Slots

beginProcessing

Initializes the algorithm.
endProcessing

Finish processing remaining bytes of inputBuffer.
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is empties except for the spare bytes at the end which don't fit into a cipher block.

nil

Module: Core

Description

nil is a singleton object that is used as a placeholder and to mean false in Io.")

Slot Index

Slots

and(expression)

Returns nil without evaluating expression.
clone

returns self since nil is a singleton.
else(expression)

Returns nil without evaluating expression.
ifNil(expression)

Evaluates message.
isNil

Returns Lobby.
or(anObject)

Returns anObject if anObject is not nil. Otherwise returns nil.
print

Prints 'nil'. Returns self.
then(expression)

Returns nil without evaluating expression.

true

Module: Core

Slot Index

Slots

and

Evaluates the argument and returns the result.
asSimpleString

Returns true.
asString

Returns true.
clone

Returns self.
else

Does not eval argument and returns true.
elseif

Does not eval argument and returns true.
ifFalse

Does not eval argument and returns true.
ifTrue

Evaluates the argument and returns self.
justSerialized

undocumented
not

Does not eval argument and returns false.
or

Does not eval argument and returns true.
then

Evaluates the argument and returns nil.