Tcl and SWIG is that you can
create entirely new kinds of Tcl interfaces in Tcl using the low-level
SWIG accessor functions.  For example, suppose you had a library of
helper functions to access arrays :
</p>

<div class="code"><pre>
/* File : array.i */
%module array

%inline %{
double *new_double(int size) {
  return (double *) malloc(size*sizeof(double));
}
void delete_double(double *a) {
  free(a);
}
double get_double(double *a, int index) {
  return a[index];
}
void set_double(double *a, int index, dou