Jeff,
Producing all predicates, including those not dynamic, is not possible. You will have to provide for defining all predicates as dynamic.
However, for your application, it may be the case that you better use a package for smodels, instead of a module. I guess that what you want is to transform the original program so that when run it computes the smodel. I assume this in what follows.
When you want a module to "be" smodel, you could write:
:- module(m,[list_of_exports],[smodel,...]).
In order for this to work smodel.pl has to be accesible in the library path of Ciao. That package is then loaded at compile-time, so you can define a compile-time expansion there that does the transformation before the program is compiled.
One other possibility is to use an expansion to make all predicates dynamic, so that "listing" works. The expansion will simply add a declaration "dynamic" for every predicate.
Expansions are declared with the add_*_translation/2-3 family of predicates. Have a look at the manual chapter "Extending the syntax".
Regards,
Paco
============================================================================== Message: Address: Action: help majordomo(a)clip.dia.fi.upm.es Info. on useful commands subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list <whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list ----------------------------------------------------------------------------- Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/ -----------------------------------------------------------------------------