MIFFS Is Fun For Sums

by rich

Built-in Functions

Use the Source, Luke

There are now too many builtin functions to list all of them here. Open the JAR file in a Zip program and read the *.miffs files in the /rich/miffs directory to see the definitions of the functions in the default environment. Some of the more common functions are still listed below for convenience. You can also use the vals function to list all defined labels, and you might be able to guess the meaning of a function from its name. I hope to introduce some kind of value browser in a future release.

Infix Functions

These are used between their arguments, and have an associated precedence (the higher the number, the 'tighter' the binding)

Use

The use function expects a string referring it to a file of MIFFS code. It will then process this file as if you had typed it all in. The "startup.miffs" file is processed every time MIFFS loads, and sets up all the functions listed lower down this page. You can change the functions MIFFS starts with by editing this file, or by putting a replacement "startup.miffs" file in the same folder as the MIFFS.jar file. This file will be used instead of the old one.

Native

The native function is the only other function that is built into MIFFS (not counting those defined in the library files). It is used to access functions defined in the source code of MIFFS from a library file and would not be needed by a regular user.

Libraries

Warning: the following information may be out of date

The following libraries are, by default, loaded by MIFFS on startup, although you can change this if you want (see "use" above).

standard.miffs

Trig

Each of the trig functions work on complex values. This means they take the principle complex branch of the function - which may, in places, be different from the branch usually taken for e.g. asin, but is equally valid.

Rounding

Exponentials and Sqrt

Lists

Other

stats.miffs

Module Stats

gamma.miffs

Module Gamma