Introduction

This document describes how to extend the [#!Gallesio93-1!#] interpreter using the C language[#!Kernighan:CPL88!#]. To begin, we will start with a simple extension which will only consist to add some simple new primitives to the interpreter. Second section will describe how to add a new type (and the primitives for manipulating this new type). Another interesting extension consists to add new kind of primitives (i.e. primitives which evaluate their argument in particular way). This kind of extension will be discussed in the third section. Fourth section discusses how to add a new widget to the interpreter. Calling some Scheme code from a C function is showed in section 5. And last, we will show how to load an extension at load time. This facility will permit to extend the interpreter without having to recompile it, on systems which support dynamic loading.