DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(guile.info.gz) Dia Steps

Info Catalog (guile.info.gz) Dia Objective (guile.info.gz) Extending Dia (guile.info.gz) Dia Smobs
 
 17.1.2 Four Steps Required to Add Guile
 ---------------------------------------
 
 Assuming this objective, four steps are needed to achieve it.
 
    First, you need a way of representing your application-specific
 objects -- such as `shape' in the previous example -- when they are
 passed into the Scheme world.  Unless your objects are so simple that
 they map naturally into builtin Scheme data types like numbers and
 strings, you will probably want to use Guile's "SMOB" interface to
 create a new Scheme data type for your objects.
 
    Second, you need to write code for the basic operations like
 `for-each-shape' and `square?' such that they access and manipulate
 your existing data structures correctly, and then make these operations
 available as "primitives" on the Scheme level.
 
    Third, you need to provide some mechanism within the Dia application
 that a user can hook into to cause arbitrary Scheme code to be
 evaluated.
 
    Finally, you need to restructure your top-level application C code a
 little so that it initializes the Guile interpreter correctly and
 declares your "SMOBs" and "primitives" to the Scheme world.
 
    The following subsections expand on these four points in turn.
 
Info Catalog (guile.info.gz) Dia Objective (guile.info.gz) Extending Dia (guile.info.gz) Dia Smobs
automatically generated byinfo2html