Curl Definitions

!=
Compare two numeric values.
%
Remainder of two values of integral type.
*
Multiply arbitrary values of numeric type.
+
Add arbitrary values of numeric type.
-
Subtract arbitrary values of numeric type.
/
Divide two values of numeric type.
<
Compare two numeric values.
<=
Compare two numeric values.
>
Compare two numeric values.
>=
Compare two numeric values.
{active-menu-box box:Graphic ...}:Menu
proc defined at curl/nboxes/forms.curl:60
Creates a box that will popup at the point where the mouse was clicked. {param box} will appear as if it were an ordinary Graphic object but when the mouse is clicked inside the box a menu represented by the remaining arguments will appear.
{anchor url:text=void}
form defined at curl/nboxes/forms.curl:240
The body of the form is displayed as an active object that will transfer control to the web page represented by {param url}.
and
Evaluates args (which must be integral values) until an arg is false and then returns false. True is returned if all args are true.
any
A dynamically typed value.
{append! rest}:list
proc defined at curl/kernel/list.curl:166
Returns the result of appending all the argument lists destructively.
{append rest}:list
proc defined at curl/kernel/list.curl:147
Copy and append all the argument lists.
array
Inroduces array type.
{big}
form defined at curl/nboxes/forms.curl:286
A {docref paragraph} with a large default font.
bit-and
Bitwise and of two values of integral type.
bit-or
Bitwise inclusive or of two values of integral type.
bit-sll
Bitwise shift left of a value of integral type.
bit-sra
Bitwise arithmetic shift right of a value of integral type.
bit-srl
Bitwise logical shift right of a value of integral type.
bit-xor
Bitwise exclusive or of two values of integral type.
bit
A 1 bit value.
{bold}
form defined at curl/nboxes/forms.curl:276
A {docref paragraph} with a bold default font.
break
Break out of a loop.
buffer
class defined at curl/kernel/buffer.curl:11
Accumulates an arbitrary sequence of objects of type any. {param size} is the initial size of the container.
button
Creates a button that displays as {param graphic} and invokes {param action} wehen pressed.
char
A Unicode character.
checkbutton
Takes a variable name representing a boolean value and displays a button that is depressed if the value is true. The initial value of the checkbutton is the current value of {param name}.
cond
Each clause is of the form {code {test body}} where test is an integral expression. The first clause whose {param test} is true causes the cond expression to return the value of {param body}. A clause whose {param test} is the symbol {param else} will succeed and is used as a default clause. If no clause has a true {param test} the value of the cond expression is undefined.
{cons first:any rest:list}:list
proc defined at curl/kernel/list.curl:7
Make a new list.
continue
Continue a loop from the top.
{copy-list l:list}:list
proc defined at curl/kernel/list.curl:203
Make a top-level copy of a list.
{copy obj:any area:Area=default-area}:any
proc defined at curl/kernel/any-ops.curl:207
Returns a copy of obj. Does not recurse on sub-objects.
define-class
Defines new class.
dotimes
Executes {param body} {param limit} times with {param var} (which should be a symbol) taking the values 0 up to {param limit}. No value is returned.
eq?
Pointer equality for compatible types.
file-url
class defined at curl/kernel/files.curl:60
A file system url representing {param file}.
FileInputPort
class defined at curl/kernel/net.curl:40
Buffered input from the file {param fname} with optional buffer size.
FileOutputPort
class defined at curl/kernel/net.curl:121
Buffered output to the file {param fname} with optional buffer size.
float
A 32 bit IEEE floating point number.
{get-buffer}:buffer
proc defined at curl/kernel/buffer.curl:71
Get a buffer from the buffer pool.
{get-buffer-of-size n:int}:buffer
proc defined at curl/kernel/buffer.curl:80
Get a buffer from the buffer pool with initial size at least {param n}.
{get-string-buffer}:string-buffer
proc defined at curl/kernel/string-buffer.curl:109
Get a string-buffer from the buffer pool.
{get-string-buffer-of-size n:int}:string-buffer
proc defined at curl/kernel/string-buffer.curl:118
Get a string-buffer from the buffer pool with initial size at least {param n}.
{get-text-buffer size:int=0 contents:text=void}:TextBuffer
proc defined at curl/kernel/text-buffer.curl:141
Allocates a text buffer from the pool. Optionally, {code size:int=0} specifies initally allocated size, or {code contents:text=void} specifies initial contents.
{hbox ...}:TableBox
proc defined at curl/nboxes/forms.curl:186
Puts the rest arguments in a box displayed horizontally.
{hrule}
proc defined at curl/nboxes/forms.curl:254
Displays a horizontal line.
http-url
class defined at curl/kernel/files.curl:97
HTTP url created from {param host}, {param file} and {param port}.
image
Creates an image object from {param url}.
input-field
Allows the user to supply text as the value of {param name}. A field will be displayed with the initial value of {param name}.
InputPort
class defined at curl/kernel/net.curl:16
Buffered input.
int16
A 16 bit signed integer.
int8
A 8 bit signed integer.
int
A 32 bit signed integer.
invoke-method
Invoke given method of given class.
isa
returns 1 if {param value} is of type {param type}.
{italic}
form defined at curl/nboxes/forms.curl:281
A {docref paragraph} with an italic default font.
{last l:list}:any
proc defined at curl/kernel/list.curl:123
Returns the last element of {param l}.
let
Basic binding construct.
{list-length l:list}:int
proc defined at curl/kernel/list.curl:47
listbox
Like {docref radiobuttons} except that the initial value is displayed in a box. When the box is clicked a menu pops up that can be used to select a new value for {param name}.
loop
Basic iteration.
{make-list rest}:list
proc defined at curl/kernel/list.curl:23
Make a list containing all of the arguments.
{make-text-buffer s:any}:TextBuffer
proc defined at curl/kernel/text-buffer.curl:369
converts its one argument to a text buffer. Works for char, text, TextBuffer, symbol.
{match-prefix prefix:text str:text}:int
proc defined at curl/kernel/text.curl:18
Returns true if {param str} starts with {param prefix}.
{memq obj:any l:list}:list
proc defined at curl/kernel/list.curl:90
If {param obj} is eq? to an element of {param l} return the sublist starting at that element, otherwise return void.
{menu-bar ...}:Menu
proc defined at curl/nboxes/forms.curl:32
Creates a horizontal menu bar with each entry representing a cascaded submenu {docref submenu} or an action {docref menu-item}.
{menu-item graphic:Graphic thunk:action-type}:MenuItem
proc defined at curl/nboxes/forms.curl:46
Creates a menu item with {param graphic} being displayed. {param thunk} will be called when this item is selected.
named-loop
Basic named iteration.
neq?
Pointer inequality for compatible types.
NetworkPort
class defined at curl/kernel/net.curl:192
Buffered input/output port to a given host and port number with optional buffer size.
new
Creates new array or class instance.
not
{param x} must be an integral type. Returns 1 if {param x} is non-zero, else 1.
{nthrest l:list index:int}:list
proc defined at curl/kernel/list.curl:106
Return the result of {param index} .rest operations on {param l}.
{nth l:list index:int}:any
proc defined at curl/kernel/list.curl:118
Return the {param index}'th element of {param l}.
or
Evaluates args (which must be integral values) until an arg is true and then returns false. false is returned if all args are false.
OutputPort
class defined at curl/kernel/net.curl:30
Buffered output.
{paragraph ...}:FormattableFrame
proc defined at curl/tools/doc-extractor.curl:4
The basic curl form that breaks its source into parts delimited by curly braces. Anything outside curly braces is treated as uninterpreted text. Anything inside curly braces is elaborated to produce a value to be displayed. The parts are then put in a box and displayed left to right, top to bottom. Left and right curl braces must be escaped by a preceding backslash. Spacing is ignored by the layout inside a paragraph except that a blank line will cause a break. There are two properties that control the indentation of lines in a paragraph: {bold indent} is the number of pixels to indent each line and {bold first-line-indent} is the amount to indent the first line after a break.
{parse-url anchor:url str:text}:url
proc defined at curl/kernel/files.curl:349
Takes a string {param str} and parses it into a url. If it is relative than the url is completed from {param anchor}.
{print obj:any p:OutputPort}:void
proc defined at curl/kernel/inspector.curl:65
Prints {param obj} to the output port {param p}. Strings and characters just print their contents. See {docref write}.
proc
Introduces procedure type.
radiobuttons
Takes a variable name representing the value of one of the rest arguments. A set of buttons is displayed with the one representing the current value of {param name} selected. The initial state is the current value of {param name}.
{release-buffer b:buffer}:void
proc defined at curl/kernel/buffer.curl:89
Return {param b} to the buffer pool.
{release-string-buffer b:string-buffer}:void
proc defined at curl/kernel/string-buffer.curl:126
Return {param b} to the buffer pool.
return
Return from a procedure.
{reverse l:list}:list
proc defined at curl/kernel/list.curl:193
Copy and reverse a list.
{reverse! old-list:list}:list
proc defined at curl/kernel/list.curl:198
Destructively reverse a list.
{rgb red:int green:int blue:int}:FColor
proc defined at curl/nboxes/forms.curl:20
Returns a color.
{row ...}:vector
proc defined at curl/nboxes/forms.curl:192
Puts the rest arguments in a row that can be used as an argument to {docref table}.
{section}
form defined at curl/tools/test.curl:83
Starts a new major section of a web page.
{set-properties graphic:Graphic ...}:void
proc defined at curl/nboxes/forms.curl:15
The keyword arguments set the corresponding properties of {param graphic}.
set
Assignment operator.
string-buffer
class defined at curl/kernel/string-buffer.curl:12
An infinite length string that can accumulate characters as an {docref OutputPort} and release them as an {docref InputPort}.
{submenu graphic:Graphic ...}
proc defined at curl/nboxes/forms.curl:40
Creates a submenu with {param graphic} being displayed. The rest of the arguments are menu items as in {docref menu-bar}.
{subsection}
form defined at curl/tools/test.curl:87
Starts a new minor section of a web page.
{subtext t:text start:int len:int}:text
proc defined at curl/kernel/text.curl:8
Copy {param len} characters from {param t} starting at {param start}.
symbol-table
class defined at curl/kernel/symbols.curl:53
Bucket hash table with symbol keys and value of any type. {param size} keyword argument specifies number of buckets.
Table
class defined at curl/kernel/any-ops.curl:226
Generic bucket hash table with key and value of any type. {param size} keyword argument specifies number of buckets.
{table ...}:TableBox
proc defined at curl/nboxes/forms.curl:206
Each argument must be a {docref row}. In addition to the standard properties, tables have properties that control the appearance of each element: {description 'table-element-border-width {paragraph} 'table-element-border-style {paragraph} 'table-element-margin {paragraph} 'table-element-spacing {paragraph}}
{text->symbol t:text}:symbol
proc defined at curl/kernel/symbols.curl:13
Interns {param t} as a symbol in the current application's symbol table.
{text-append t1:text t2:text}:text
proc defined at curl/kernel/text.curl:41
Copies and appends two strings.
{text-pos t:text c:char}:int
proc defined at curl/kernel/text.curl:25
Returns the first index of {param c} in {param t} or -1.
{text-rpos t:text c:char}:int
proc defined at curl/kernel/text.curl:33
Returns the last index of {param c} in {param t} or -1.
TextBuffer
class defined at curl/kernel/text-buffer.curl:143
Relatively lightweight, recycled text strings usable for storing words, filenames, etc. Based on OutputPort: can be written to. TextBuffers have a dynamic virtual length between 0 and 2^31 bytes. They use internal buffers whose sizes are TextBufferMinSize*2^k. Usage scenarios: {code {let tb:TextBuffer={get-text-buffer [size=n] [contents="..."]} ... {tb.recycle}}} or {code {let tb:TextBuffer={make-text-buffer s} | s is text, tb, symbol ... {tb.recycle}}}
text
constant defined at curl/kernel/boot-curl.curl:4
An array of characters. Strings in doublequotes are of type {bold text}.
{tiny}
form defined at curl/nboxes/forms.curl:291
A {docref paragraph} with a very small default font.
{title}
form defined at curl/nboxes/forms.curl:296
A {docref paragraph} with a large, bold default font.
typeof
returns the runtime type of {param x}.
unless
Evaluates {param body} if {param test} is false.
until
Iterates {param body} until {param test} is true.
url
class defined at curl/kernel/files.curl:24
Object representing a url.
value
returns x
{vbox ...}:TableBox
proc defined at curl/nboxes/forms.curl:181
Puts the rest arguments in a box displayed vertically.
{vector->list v:vector}:list
proc defined at curl/kernel/list.curl:18
Make a list from a vector of anys.
vector
constant defined at curl/kernel/boot-curl.curl:12
An array of anys.
void?
returns true if x is a pointer type with void value.
void
No value when specified as return parameter type for procedure or method; otherwise indicates an undefined pointer value.
when
Evaluates {param body} if {param test} is true.
while
Iterates {param body} until {param test} is false.
{write obj:any p:OutputPort}:void
proc defined at curl/kernel/inspector.curl:87
Prints {param obj} to the output port {param p} in a way that it can be re-read.