Table of Contents
Procedures and Functions
Include Feature
Built-in Functions
Value Types
Arithmetic and Logic Functions
Person Functions
Family Functions
List Functions
Table Functions
GEDCOM Node Functions
Event and Date Functions
Value Extraction Functions
User Interaction Functions
String Functions
Output Mode Functions
Person Set Functions and GEDCOM Extraction
Record Update Functions
Record Linking Functions
Miscellaneous Functions

LifeLines programs are stored in files you edit with a screen editor. Programs are not edited from within the LifeLines program; edit them as you would any text file. The programs may be stored in any directories; they do not have to be kept in or associated with LifeLines databases. You may set the LLPROGRAMS shell variable to hold a list of directories that LifeLines will use to automatically search for programs when you request program execution.

Procedures and Functions

A LifeLines program is made up of one or more procedures and functions. A procedure has format:

proc name ( params ) { statements }

Name is the name of the procedure, params is an optional list of parameters separated by commas, and statements is a list of statements that make up the procedure body. Report generation begins with the first statement in the procedure named main. Procedures may call other procedures and functions. Procedures are called with the call statement described below.When a procedure is called, the statements making up its body are executed.

A function has format:

func name ( params ) { statements }

Name, params and statements are defined as in procedures. Functions may call other procedures and functions. When a function is called the statements that make it up are executed. A function differs from a procedure by returning a value to the procedure or function that calls it. Values are returned by the return statement, described below. Recursive functions are allowed. A function is called by invoking it in an expression.