A base module that is
extended into a main module by default. Not completely documented.
The contents of this base module are available immediately when
a Lever runtime starts.
Most of the functions in the base
module are built into the language runtime.
Table of contents ↑ Table of contents Constant, represents
absence.
null always represents an absence of something.
null and false are the only values that produce false when
converted into boolean values.
The definition of null is a bit
weird because it's a legal class while being a constant.
As an internal detail, the null is an interface that is its own
interface and parent.
01. Boolean Logic
The booleans false and true are the only instances of the bool interface.
Constant,
represents falsehood.
Constant,
represents truth.
Interface of the true and
false
Booleans are hashable and can be used
in a dictionary.
This hash function can be a bit of an oxymoron
because in Lever constants and interfaces would have a hash anyway.
pointless?
+init (obj ) obj can be any value available.
returns false if obj is false or null, true
otherwise.
Converts a value into a boolean if
it already isn't. Returns 'false' iff value is absent.
Otherwise 'true'.
+repr ( ) returns "true" for true.
"false" for false.
Returns a string
representation of a value.
volatile
and (a : bool , b : bool ) returns true if both a and b are
true, otherwise returns false.
Boolean AND
The compiler uses control flow to implement 'and'
operation, therefore this function is only there for consistency.
uncertain
or (a : bool , b : bool ) returns true if either a or b is
true, otherwise returns false.
Boolean OR
The compiler uses control flow to implement 'or'
operation, therefore this function is only there for consistency.
uncertain
not (a : bool ) returns true if a is false.
Boolean not
The compiler uses control flow
or instructions to implement 'not' operation, therefore this
function is only there for consistency.
uncertain
02. Objects &
Interfaces Python calls 'interfaces' types and
likewise has a 'type' where Lever has an interface.
The decision to use the name 'interface' here
originates from the fact that you do not often touch these parts. Also
the term 'type' is used usually to denote what kind of
object you have stored into a json file.
Also we have a concept
of a C type. The first-class C type system in Lever runtime is
somewhat crucial element, and there will be more more of that as time
goes on.
Base interface for
everything
Instantiates a freeform record that can hold
any attributes.
Oftentimes we have data that has to be structured,
but it is also so short-lived that there's no point writing an
explicit class definition for it.
There are plans to add list
pattern matching into Lever some day, so some of these objects in the
current runtime will be replaced with plain lists.
Despite that
the concept will likely stay and you'll be able to instantiate by
calling the object() interface.
This kind of
"objects" can be converted back into dictionary with dict().
debatable
Interface for
interfaces
Every value has an interface. Since interfaces are first
class values they also have to have an interface.
Obtains the interface of an object given as an
argument.
If you pass an interface, you get an interface back.
internals may change
isinstance (value : object , which : object ) value The value to test
which Interface or a list of interfaces
returns true if the object is an instance of certain
interface.
Tests whether the object is an
instance of an interface or a subinterface.
Returns a
'super interface' of the given interface.
This is a
mostly feature for introspection. You can use it to obtain a parent
interface of an interface until you hit the object, super(object) is
null.
03. Functions & Multimethods Type for builtin
functions.
volatile
Every function,
builtin or not has .spec and .loc attributes for introspection. They
are both freely formed objects with attributes.
The shape and
structure of all of these fields is very likely going to change, but
for now we got something like this:
spec.varnames : list spec.is_variadic : bool spec.optional : int spec.argc : int spec.argtypes : list or null loc.source - source path
loc.start - source location start (inclusive)
loc.stop - source location stop (exclusive) The
introspection features will eventually improve until we can run
abstract interpretation on the user-defined functions.
Establishes a dispatch
table that can be used to customize this method.
Multimethods
represent bundles of functions of fixed arity. Programmer can insert
more of functions into a multimethod at any time.
During
invocation multimethods calls interface() for every argument they get.
The result is used to determine the function to call. If the value is
missing in the table, the default -method is called. If there's
no default method, then an error is raised.
It is expected that
multimethods have a clear semantic and modes of failures that are
obeyed by the functions put into the table.
+init (arity ) returns a new multimethod that
dispatches on the arity count of arguments.
A
multimethod is partially mutable, but you are not expected to
overwrite functions in a method table.
volatile
Adds a method into the dispatch table.
The key must be a list containing interfaces, having a length matching
the arity.
Fails if the key is already in the table.
volatile
+getitem (self, key ) returns The function associated to
a key.
volatile
Gathers the key from the arguments and
attempts to call a function in the dispatch table. If the key
isn't in the table, it will then call the .default(args...) to
provide a default resolution.
volatile
Dispatches on the multimethod table
but returns an error instead of calling the .default(args...) if the
dispatch fails.
volatile
keys ( ) returns The list of keys in the
dispatch table.
Dispatches on the multimethod
volatile
Multimethods have an
.arity field that tells their arity and a .default field that can be
set. The .default field should be set only once.
volatile
04. Custom classes
& objects The class definitions are part of a language,
but it can be interesting to know how they construct underneath.
class (freeform, super = object , name = "customobject" ) freeform Freeform object holding
the new fields for the new interface super
The interface that this interface extends from
returns a new interface
Called by the 'class' syntax.
Interfaces are immutable to favor the JIT compiler. This can be
changed, but so far I haven't found a real need to change an
interface after it has been created. It's usually just as simple
to create a new interface.
volatile
Provides
getters/setters via the class interface.
volatile
+init ( ) returns a new property object.
The getters and setters are put into .get and
.set attributes of this object.
volatile
05. Primitives not documented
volatile
+init (other = null ) other not documented
returns not documented
not documented
volatile
get (argv... ) argv not documented
returns not documented
not documented
volatile
items (self : dict ) self not documented
returns not documented
not documented
volatile
keys (self : dict ) self not documented
returns not documented
not documented
volatile
pop (self : dict , key : object ) self not documented
key not documented
returns not documented
not documented
volatile
update (self : dict , other : object ) self not documented
other not documented
returns not documented
not documented
volatile
values (self : dict ) self not documented
returns not documented
not documented
volatile
not documented
volatile
+init (obj : object ) obj not documented
returns not documented
not documented
volatile
not documented
volatile
+init (obj : object ) obj not documented
returns not documented
not documented
volatile
to_string (integer : int , base = null ) integer not documented
base not documented
returns not documented
not documented
volatile
not documented
volatile
+init (argv... ) argv not documented
returns not documented
not documented
volatile
append (self : list , other : object ) self not documented
other not documented
returns not documented
not documented
volatile
count (self : list , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
extend (self : list , iterable : object ) self not documented
iterable not documented
returns not documented
not documented
volatile
index (self : list , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
insert (self : list , index : int , obj : object ) self not documented
index not documented obj
not documented
returns not documented
not documented
volatile
pop (self : list , index = null ) self not documented
index not documented
returns not documented
not documented
volatile
remove (self : list , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
reverse (self : list ) self not documented
returns not documented
not documented
volatile
sort (self : list , lt = null ) self not documented
lt not documented
returns not documented
not documented
volatile
not documented
volatile
+init (arg = null ) arg not documented
returns not documented
not documented
volatile
add (self : set , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
clear (self : set ) self not documented
returns not documented
not documented
volatile
copy (self : set ) self not documented
returns not documented
not documented
volatile
difference (self : set , argv... ) self not documented
argv not documented
returns not documented
not documented
volatile
difference_update (self : set , argv... ) self not documented
argv not documented
returns not documented
not documented
volatile
discard (self : set , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
intersection (self : set , argv... ) self not documented
argv not documented
returns not documented
not documented
volatile
is_subset (self : set , other : object ) self not documented
other not documented
returns not documented
not documented
volatile
pop (self : set ) self not documented
returns not documented
not documented
volatile
remove (self : set , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
union (self : set , argv... ) self not documented
argv not documented
returns not documented
not documented
volatile
update (self : set , argv... ) self not documented
argv not documented
returns not documented
not documented
volatile
not documented
volatile
+init (start : object , stop : object , step = null ) start not documented
stop not documented step
not documented
returns not documented
not documented
volatile
not documented
volatile
+init (obj : object ) obj not documented
returns not documented
not documented
volatile
center (self : str , width : int , fillchar = null ) self not documented
width not documented
fillchar not documented
returns not documented
not documented
volatile
count (self : str , ch : str ) self not documented
ch not documented
returns not documented
not documented
volatile
endswith (self : str , postfix : str ) self not documented
postfix not documented
returns not documented
not documented
volatile
is_alpha (string : str ) string not documented
returns not documented
not documented
volatile
is_digit (string : str , base = null ) string not documented
base not documented
returns not documented
not documented
volatile
is_space (string : str ) string not documented
returns not documented
not documented
volatile
join (string : str , seq : object ) string not documented
seq not documented
returns not documented
not documented
volatile
ljust (self : str , width : int , fillchar = null ) self not documented
width not documented
fillchar not documented
returns not documented
not documented
volatile
lower (obj : str ) obj not documented
returns not documented
not documented
volatile
replace (a : str , b : str , c : str ) a not documented
b not documented c
not documented
returns not documented
not documented
volatile
rjust (self : str , width : int , fillchar = null ) self not documented
width not documented
fillchar not documented
returns not documented
not documented
volatile
rsplit (self : str , sep : str , maxsplit = null ) self not documented
sep not documented
maxsplit not documented
returns not documented
not documented
volatile
split (self : str , sep : str , maxsplit = null ) self not documented
sep not documented
maxsplit not documented
returns not documented
not documented
volatile
startswith (self : str , prefix : str ) self not documented
prefix not documented
returns not documented
not documented
volatile
upper (obj : str ) obj not documented
returns not documented
not documented
volatile
06. String decoding & encoding &
conversions not documented
volatile
+call (argv... ) argv not documented
returns not documented
not documented
volatile
chr (value : int ) value not documented
returns not documented
Returns a character that corresponds to the
integer.
volatile
ord (string : str ) string not documented
returns not documented
Returns integer representing the unicode point
of the character.
volatile
parse_int (string : str , base = null ) string not documented
base not documented
returns not documented
not documented
volatile
07. Path handling Represents file paths.
Note that irrespective of the OS, lever expects you to provide POSIX
compatible paths.
Paths have mutable attributes
"is_absolute", "basename", "label".
There is also .push(path) -method to help in-place modify the path.
To pass path to FFI, the path object has
"get_os_path" -method to convert the path into system path.
volatile
+init (obj : object ) obj not documented
returns not documented
not documented
volatile
drop (self : path , count : int ) self not documented
count not documented
returns not documented
not documented
volatile
relpath (dst : path , rel = null, cwd = null ) dst not documented
rel not documented cwd
not documented
returns not documented
not documented
volatile
08. Byte arrays not documented
volatile
+init (obj : object ) obj not documented
returns not documented
not documented
volatile
not documented
volatile
memcpy (self : Uint8Data , src : Uint8Data , size = null ) self not documented
src not documented size
not documented
returns not documented
not documented
volatile
09. Basic I/O print (argv... ) argv not documented
returns not documented
Prints the given values, with space between
them.
volatile
not documented
volatile
+init (ipc : bool ) ipc not documented
returns not documented
not documented
volatile
bind (self : Pipe , name : str ) self not documented
name not documented
returns not documented
not documented
volatile
connect (self : Pipe , name : str ) self not documented
name not documented
returns not documented
not documented
volatile
not documented
volatile
append (self : Queue , obj : object ) self not documented
obj not documented
returns not documented
not documented
volatile
close (self : Queue ) self not documented
returns not documented
not documented
volatile
wait (self : Queue ) self not documented
returns not documented
not documented
volatile
not documented
volatile
set_mode (self : TTY , modename_obj : str ) self not documented
modename_obj not documented
returns not documented
not documented
volatile
class Timer extends handle2
not documented
volatile
again (self : Timer ) self not documented
returns not documented
not documented
volatile
close (self : Timer ) self not documented
returns not documented
not documented
volatile
set_repeat (self : Timer , value : float ) self not documented
value not documented
returns not documented
not documented
volatile
start (self : Timer , delay : float , repeat = null ) self not documented
delay not documented
repeat not documented
returns not documented
not documented
volatile
stop (self : Timer ) self not documented
returns not documented
not documented
volatile
10. Greenlets & Concurrency
sleep (argv... ) argv not documented
returns not documented
The sleep performs two functions. It can be
used to suspend the current greenlet, queue it after duration of
seconds pass.
If you pass it a function or greenlet, it will
convert it into a greenlet and adds it to the event queue after the
duration passes.
volatile
schedule (argv... ) argv not documented
returns newly created greenlet
Schedule is similar to the greenlet -command,
except that it queues the greenlet and sets it to return into the
eventloop when it finishes. It returns the newly created greenlet.
volatile
getcurrent ( ) returns The currently running
greenlet.
not documented
volatile
A stack branch point, or
something like that
Conceptually greenlets represent a body of work
you can stop for a moment while you do a different task. Note that you
are always in a greenlet. You can always put the current task to
sleep, or switch to the eventloop to run a different task.
Greenlet represents a call frame that can be suspended. The
arguments describe a function to call and it can be left blank. In
that case the switching has to pass a function that is called inside
the greenlet.
The greenlet.parent describes where the call
returns once it finishes.
greenlet.switch(arguments...)
suspends the current greenlet and switches to the targeted greenlet.
If the greenlet hasn't started yet, the given arguments are
concatenated to the initial arguments. If the greenlet is suspended,
the arguments are compacted into a value and returned in the target
greenlet.
volatile
+init (argv... ) argv not documented
returns not documented
not documented
volatile
switch (argv... ) argv not documented
returns not documented
not documented
volatile
11. Runtime getattr (obj : object , index : str ) obj not documented
index not documented
returns not documented
Retrieves attribute from an object.
volatile
getitem (obj : object , index : object ) obj not documented
index not documented
returns not documented
Equivalent to object[index]. Presented as a
convenience. Invokes the +getitem from the interface table.
volatile
hash (obj : object ) obj not documented
returns not documented
not documented
volatile
iter (obj : object ) obj not documented
returns not documented
Retrieve an iterator. Invokes the +iter from
the interface table.
volatile
len (obj : object ) obj not documented
returns not documented
not documented
volatile
load (program : object , path = null ) program not documented
path not documented
returns not documented
not documented
volatile
range (start : int , stop = null, step = null ) start not documented
stop not documented step
not documented
returns not documented
not documented
volatile
repr (obj : object ) obj not documented
returns not documented
not documented
volatile
reversed (obj : list ) obj not documented
returns not documented
not documented
volatile
setattr (obj : object , index : str , value : object ) obj not documented
index not documented
value not documented
returns not documented
Sets an attribute to an object.
volatile
setitem (obj : object , index : object , value : object ) obj not documented
index not documented
value not documented
returns not documented
Equivalent to object[index] = value. Presented
as a convenience. Invokes the +setitem from the interface table.
volatile
12. Modules
Modules are hierarchical now, but I'm wondering whether
the hierarchical idea of modules should be moved into the evaluation
environment or program objects instead.
There is a function
"import" that imports a module and is used behind the import
syntax. Every module has an import function and it is always an
instance of a Import.
not documented
volatile
+call (argv... ) argv not documented
returns not documented
not documented
volatile
+init (local : path , scope : ModuleScope ) local not documented
scope not documented
returns not documented
not documented
volatile
not documented
volatile
+init (local : path , parent = null, options = null ) local not documented
parent not documented
options not documented
returns not documented
not documented
volatile
13. Logging info (value : object , type = null ) value not documented
type not documented
returns not documented
not documented
volatile
14. Errors and exceptions not documented
volatile
+init (obj : object , value : object ) obj not documented
value not documented
returns not documented
not documented
volatile
not documented
volatile
+init (message : str ) message not documented
returns not documented
not documented
volatile
not documented
volatile
+init (obj : object , name : str ) obj not documented
name not documented
returns not documented
not documented
volatile
not documented
volatile
+init (message : str ) message not documented
returns not documented
not documented
volatile
not documented
volatile
close (self : Event ) self not documented
returns not documented
not documented
volatile
dispatch (self : Event , argv... ) self not documented
argv not documented
returns not documented
not documented
volatile
register (self : Event , cb : object ) self not documented
cb not documented
returns not documented
not documented
volatile
wait (self : Event ) self not documented
returns not documented
not documented
volatile
not documented
volatile
+init (obj : object ) obj not documented
returns not documented
not documented
volatile
not documented
volatile
+init (thing : object ) thing not documented
returns not documented
not documented
volatile
not documented
volatile
+init (obj : object , name : str ) obj not documented
name not documented
returns not documented
not documented
volatile
15. Operators Nearly all
operators in Lever are multimethods. The current Lever multimethods
can be extended but they do not obey type inheritance.
Arithmetic coercion.
A
Base multimethod for converting two value into values that pair
arithmetically. Coercion is used when the values cannot be found from
the usual multimethod table and when the exact pairing cannot be
found.
Sometimes we expect that two types are arithmetically
interchangeable although they would be technically different.
Therefore many arithmetic operations in Lever come with coercion as
default for the time when there's not a specific method for the
given operation.
This method must coerce the two values into
most specific common type they share.
The conversion must make
sense before doing an arithmetic operation such as addition,
multiplication or substraction.
(a : float , b : int ) Implicit conversion to
float from integers. volatile
(a : int , b : float ) Implicit conversion to
float from integers. volatile
(a : bool , b : int ) Implicit conversion from
boolean into integer. 'true' becomes 1, and
'false' becomes 0.
volatile
(a : bool , b : bool ) Implicit conversion from
booleans into integers. This is not the most common type for
booleans, but usually when we are doing arithmetic operation and there
are no booleans defined, we expect that they represent integer values.
volatile
(a : int , b : bool ) Implicit conversion from
boolean into integer. volatile
volatile
Arithmetic addition
(a : vec3 , b : vec3 ) Addition is defined on
vectors. volatile
(a : int , b : int ) volatile
(a : float , b : float ) volatile
default(args... ) Calls coerce on the arguments and re-attempts the
operation on the results once. volatile
volatile
Arithmetic subtraction
(a : vec3 , b : vec3 ) Of course... volatile
(a : set , b : set ) Alias to set.difference volatile
(a : int , b : int ) What do you expect? volatile
(a : float , b : float ) Kind of obvious. volatile
default(args... ) Calls coerce on the arguments and re-attempts the
operation on the results once. volatile
volatile
Multiplication of two elements
together
(n : int , s : str ) Repeats the
's' string 'n' times. Multiplication in this
case makes a lot of sense, although repeating of a string is a repeat
of concatenation rather than addition.
volatile
(a : mat4 , b : mat4 ) Matrix multiplication.
volatile
(a : int , b : int ) volatile
(s : str , n : int ) Repeats the
's' string 'n' times. volatile
(a : float , b : float ) volatile
(s : float , v : vec3 ) Vector multiplication
by scalar volatile
(q : quat , v : vec3 ) I am a bit unsure about
what this was.. TODO: review quaternion math. volatile
(self : mat4 , other : vec3 ) Plain old matrix
multiplication of vector. Transforms the vector by the matrix.
volatile
(v : vec3 , s : float ) Scalar multiplication
on vector. volatile
(self : quat , other : quat ) Quaternion
multiplication volatile
default(args... ) Calls coerce on the arguments and re-attempts the
operation on the results once. volatile
volatile
Arithmetic division operator
(self : vec3 , s : float ) self not documented
s not documented
returns not documented
not documented volatile
(s : float , self : vec3 ) s not documented
self not documented
returns not documented
not documented volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
default(argv... ) argv not documented
returns not documented
not documented volatile
volatile
Prefix plus
(self : quat ) self not documented
returns not documented
not documented volatile
(a : int ) a not documented
returns not documented
not documented volatile
(self : vec3 ) self not documented
returns not documented
not documented volatile
(a : float ) a not documented
returns not documented
not documented volatile
volatile
Modulo takes a remainder from the
division of the first argument by the second.
(a : int , b : int ) volatile
default(args... ) Default on module is an arithmetic coercion
and a re-attempt once. volatile
volatile
Bitwise AND
(a : int , b : int ) volatile
(a : set , b : set ) Alias to set.intersection volatile
default(args... ) Default on module is an arithmetic coercion
and a re-attempt once. volatile
volatile
Bitwise OR operation or similar
(a : int , b : int ) Bitwise OR operation on
two integers volatile
(a : set , b : set ) An alias to set.union This behavior has been inherited
from Python.
volatile
default(args... ) Calls coerce on the arguments and re-attempts the
operation on the results once. volatile
volatile
Bitwise XOR operator
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : set , b : set ) a not documented
b not documented
returns not documented
not documented volatile
default(argv... ) argv not documented
returns not documented
not documented volatile
volatile
Equality
(a : path , b : path ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
(a : list , b : list ) a not documented
b not documented
returns not documented
not documented volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : str , b : str ) a not documented
b not documented
returns not documented
not documented volatile
(a : Id , b : Id ) a not documented
b not documented
returns not documented
not documented volatile
(a : EIM , b : EIM ) a not documented
b not documented
returns not documented
not documented volatile
default(a : object , b : object ) a not documented
b not documented
returns not documented
not documented volatile
volatile
Inequality operator
(a : path , b : path ) Two path objects are
inequal if their prefixes and path sequences are different. volatile
(a : str , b : str ) Two strings are inequal
if they are different. volatile
(a : int , b : int ) Two integers are
inequal if erm... volatile
(a : float , b : float ) volatile
default(a : object , b : object ) By default, two items
are inequal if they are not equal as defined by == . volatile
volatile
Concatenation
Concatenation
and addition are not a same thing because the two can make sense
separately in a same object. This was the case in the numpy module of
the Python. We rather do not repeat that mistake.
(a : Uint8Array , b : Uint8Array ) Concatenates two
byte arrays together. This operation always allocates new memory to
contain the new concatenated byte sequence.
volatile
(a : path , b : path ) Concatenates two paths
together. If the 'b' path is not a relative path, it is
returned. Otherwise we get a concatenation of the two.
volatile
(a : Uint8Array , b : Uint8Slice ) Concatenates two
byte arrays together. This operation always allocates new memory to
contain the new concatenated byte sequence.
volatile
(a : Uint8Slice , b : Uint8Array ) Concatenates two
byte arrays together. This operation always allocates new memory to
contain the new concatenated byte sequence.
volatile
(a : path , s : str ) Converts a string into
a path and then proceeds to concatenate the two. String
concatenation from the right side is extremely common operation, for
example 'a.dirname ++ (a.basename ++ ".text")'
adds a file extension '.text'
volatile
(a : list , b : list ) List concatenation volatile
(a : str , b : path ) Converts a string into
a path and then proceeds to concatenate the two. Not as common as
the another, but is present there for convenience.
volatile
(a : str , b : str ) String concatenation.
volatile
(a : Uint8Slice , b : Uint8Slice ) Concatenates two
byte arrays together. This operation always allocates new memory to
contain the new concatenated byte sequence.
volatile
volatile
(self : quat ) self not documented
returns not documented
not documented volatile
(a : int ) a not documented
returns not documented
not documented volatile
(self : vec3 ) self not documented
returns not documented
not documented volatile
(a : float ) a not documented
returns not documented
not documented volatile
volatile
Less than -operator
(a : path , b : path ) a not documented
b not documented
returns not documented
not documented volatile
(a : str , b : str ) a not documented
b not documented
returns not documented
not documented volatile
(a : set , b : set ) a not documented
b not documented
returns not documented
not documented volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
volatile
Less than or equal -operator
(a : path , b : path ) a not documented
b not documented
returns not documented
not documented volatile
(a : str , b : str ) a not documented
b not documented
returns not documented
not documented volatile
(a : set , b : set ) a not documented
b not documented
returns not documented
not documented volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
volatile
Greather than -operator
(a : path , b : path ) a not documented
b not documented
returns not documented
not documented volatile
(a : str , b : str ) a not documented
b not documented
returns not documented
not documented volatile
(a : set , b : set ) a not documented
b not documented
returns not documented
not documented volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
volatile
Greater than or equal
-operator
(a : path , b : path ) a not documented
b not documented
returns not documented
not documented volatile
(a : str , b : str ) a not documented
b not documented
returns not documented
not documented volatile
(a : set , b : set ) a not documented
b not documented
returns not documented
not documented volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
volatile
Left bitwise shift
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
default(argv... ) argv not documented
returns not documented
not documented volatile
volatile
Bitwise right shift
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
default(argv... ) argv not documented
returns not documented
not documented volatile
volatile
16. Mathematic functions and interfaces abs (f : float ) f not documented
returns not documented
not documented
volatile
axisangle (v : vec3 , angle : float ) v not documented
angle not documented
returns not documented
not documented
volatile
(x : float , low : float , high : float ) x not documented
low not documented high
not documented
returns not documented
not documented volatile
(x : int , low : int , high : int ) x not documented
low not documented high
not documented
returns not documented
not documented volatile
(c : slice , start : int , stop : int ) c not documented
start not documented stop
not documented
returns not documented
not documented volatile
not documented
volatile
cos (f : float ) f not documented
returns not documented
not documented
volatile
(a : vec3 , b : vec3 ) a not documented
b not documented
returns not documented
not documented volatile
not documented
volatile
(a : vec3 , b : vec3 ) a not documented
b not documented
returns not documented
not documented volatile
not documented
volatile
exp (a : float ) a not documented
returns not documented
not documented
volatile
(v : vec3 ) v not documented
returns not documented
not documented volatile
not documented
volatile
ln (a : float ) a not documented
returns not documented
not documented
volatile
log (a : float , b : float ) a not documented
b not documented
returns not documented
not documented
volatile
not documented
volatile
+init (argv... ) argv not documented
returns not documented
not documented
volatile
adjoint (self : mat4 ) self not documented
returns not documented
not documented
volatile
invert (self : mat4 ) self not documented
returns not documented
not documented
volatile
scale (self : mat4 , v : vec3 ) self not documented
v not documented
returns not documented
not documented
volatile
translate (self : mat4 , v : vec3 ) self not documented
v not documented
returns not documented
not documented
volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
default(argv... ) argv not documented
returns not documented
not documented volatile
not documented
volatile
(a : int , b : int ) a not documented
b not documented
returns not documented
not documented volatile
(a : float , b : float ) a not documented
b not documented
returns not documented
not documented volatile
default(argv... ) argv not documented
returns not documented
not documented volatile
not documented
volatile
(v : vec3 ) v not documented
returns not documented
not documented volatile
not documented
volatile
Half of the circumference of an unit circle.
volatile
Circumference of an unit circle.
volatile
pow (a : float , b : float ) a not documented
b not documented
returns not documented
not documented
volatile
not documented
volatile
+init (argv... ) argv not documented
returns not documented
not documented
volatile
invert (self : quat ) self not documented
returns not documented
not documented
volatile
to_mat4 (self, translation = vec3(0,0,0) ) returns Affine transformation
matrix.
Present your affection to your
significant other with matrices.
volatile
sign (f : float ) f not documented
returns not documented
not documented
volatile
sin (f : float ) f not documented
returns not documented
not documented
volatile
sqrt (f : float ) f not documented
returns not documented
not documented
volatile
tan (f : float ) f not documented
returns not documented
not documented
volatile
not documented
volatile
+init (argv... ) argv not documented
returns not documented
not documented
volatile
17. Random numbers and quantities
This was copied from somewhere in the
internet.
volatile
This was copied from somewhere in the
internet.
volatile
18. Miscellaneous chdir (obj : object ) obj not documented
returns not documented
Changes the current directory.
Note that
both getcwd() and chdir(path) may eventually move into fs -module.
volatile
not documented
volatile
+init (doc : object , name : object , parent = null ) doc not documented
name not documented
parent not documented
returns not documented
not documented
volatile
exit (obj = null ) obj not documented
returns not documented
not documented
volatile
not documented
volatile
+init (ref : object ) ref not documented
returns not documented
not documented
volatile
get (self : Id , name : str , default = null ) self not documented
name not documented
default not documented
returns not documented
not documented
volatile
Returns a path object denoting the current
path. Note that this object is converted once, so if you have unusual
path that doesn't follow posix conventions, the lever getcwd may
give a incorrect path.
Note that both getcwd() and chdir(path) may
eventually move into fs -module.
volatile
time (argv... ) argv not documented
returns not documented
not documented
volatile