The PaML project at the IT University of Copenhagen

The PaML project is about Standard ML, Region Inference and Palm Computing. We investigate the possibilities to use the novel programming language Standard ML to build small, fast and reliable applications for the Palm Computing environment.

The Palm Computing environment impose many interesting problems. The memory model is very restricted. You have only 4 Kb. of stack, a heap of 64 Kb. and a large storage area called the database area. It is possible, that we must use the database area for temporary values.

We extend the ML Kit, a free Standard ML compiler, to generate code for the Palm Pilot. The ML Kit does not use a garbage collector to reclain unused storage.

The ML Kit uses region inference. In the region inference memory model, all memory allocation directives (both allocation and de-allocation) are inferred by the compiler at compile time. The ML Kit uses a technique, where the heap is organised in many smaller heaps, called region pages. Values are allocated in region and automatically de-allocated.

Region inference ensures the safety of de-allocation, that is, if a memory area is de-allocated, then the memory area will never be referenced. This is a key feature of the ML Kit and an important aspect of making reliable applications. You do not have this safety with C, the primary programming language for Palm Pilot applications.

Development

People

Important Links

We have organized several important links for the project.

Unsolved Problems


nh@itu.dk, October 25, 1999.