[m-dev.] Remove .ssdebug grades

Peter Ross pro at missioncriticalit.com
Thu Jul 19 08:42:48 AEST 2012


I used the ssdebug grade for the first time in anger.

One thing I noted is that there is no difference between the csharp
and csharp.ssdebug grades.  This is because in the ssdebug grade we
can't have a cycle between ssdb.m and the standard library, so instead
we proxy all the standard library methods when we generate accessors
to them.  Hence there is no difference between the csharp and
csharp.ssdebug grades.

I propose instead that we replace the ssdebug grade with the following
two options

  --ss-trace-level {none, shallow, deep}

The first option controls whether or not the ssdebug transformations
are done and to which procedures. none = none, shallow = interface
procedures only, deep = all procedures.  The second option whether or
not to link the ssdb libraries into the build.

The different trace levels are needed to help avoid performance issues
and stack overflow due to the loss of tail recursion.

Note we could get rid of the second option and just rely on the linker
to not include the libs, if they are not needed.

Does anyone have any strong objections, or issues that I've not forseen.

mercury-developers mailing list
Post messages to:       mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions:          mercury-developers-request at csse.unimelb.edu.au

More information about the developers mailing list