Extension program

It is possible to enhance some of the statistics menus using a user library. The calculator does not provide every possible function in every area, but they let you customize the built in menu in order to add your functions as if they were built in.

Example: Customize the main statistic menu.

Ensure you are in RPL mode (H, W, `) and attach the development library (256 ATTACH).

In a directory, create the following variables: $ROMID 1324

$CONFIG 1

$TITLE "Statistic enhancements" $VISIBLE { ABOUT }

$HIDDEN { MessageHandler } $EXTPRG 'MessageHandler'

ABOUT "This library is a statistic enhancement example" MessageHandler

«

IF DUP 1 R~SB ==

THEN SWAP

{{ "7.New entry" « "My Stats" 1 DISP 7 * FREEZE » } } +

SWAP

END

»

Create the library (CRLIB) and store it in an extension port (0 K). Now, run the statistic menu (@5)!

How does it work? Each time the stat menu pops up, the calculator executes every extension program of every library in the system. This extension program takes on the stack a message number (and leaves it on the stack!). Each message number has a specific meaning as described below.

Here are the expected inputs and outputs for the extension program for different menus:

APPS menu

Input: { { "String" Action } ... } ZERO

Output: Modified list ZERO

Main Statistics menu

Input: { { "String" Action } ... } ONE

Output: Modified list ONE

Hypothesis statistics menu

Input: { { "String" Action } ... } TWO

Output: Modified list TWO

Confidence interval statistics menu

Input: { { "String" Action } ... } THREE

Output: Modified list THREE

Finance menu

Input: { { "String" Action } ... } FOUR

Output: Modified list FOUR

Numeric solver menu

Input: { { "String" Action } ... } FIVE

Output: Modified list FIVE

6-10 The Development Library