unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* eval-options, debug-options, etc.
@ 2010-08-27  9:51 Ludovic Courtès
  2010-08-28  3:51 ` Andy Wingo
  0 siblings, 1 reply; 2+ messages in thread
From: Ludovic Courtès @ 2010-08-27  9:51 UTC (permalink / raw)
  To: guile-devel

Hello!

Looking at bug #21790, it occurred to me that the options listed in
‘private-options.h’ are (1) not private, and (2) mostly abandoned.

They’ve never been private and their Scheme counterpart (‘eval-options’,
‘debug-options’ & co.) are clearly public.

The eval & debug options are largely abandoned though, in that ‘(ice-9
eval)’ and other new modules don’t currently honor them, and because
some of them are not really applicable to the VM.

Here’s the list along with comments (“irrelevant” means “i don’t think
it makes sense in 2.0”, “future use?” means “perhaps it could be used in
2.0”, etc.):

  - evaluator (all these options are currently unused by (ice-9 eval)):

    SCM_EVAL_STACK         irrelevant   
    SCM_TRAPS_P            future use?  
    SCM_ENTER_FRAME_P      future use?  
    SCM_APPLY_FRAME_P      future use?  
    SCM_EXIT_FRAME_P       future use?  
    SCM_ENTER_FRAME_HDLR   ?            
    SCM_APPLY_FRAME_HDLR   ?            
    SCM_EXIT_FRAME_HDLR    ?            
    SCM_MEMOIZE_P          irrelevant   
    SCM_MEMOIZE_HDLR       irrelevant   

  - debugging:

    SCM_BREAKPOINTS_P        future use?  
    SCM_TRACE_P              deprecated   
    SCM_REC_PROCNAMES_P      irrelevant   
    SCM_BACKWARDS_P          ?            
    SCM_BACKTRACE_WIDTH      used         
    SCM_BACKTRACE_INDENT     unused[1]    
    SCM_N_FRAMES             unused       
    SCM_BACKTRACE_MAXDEPTH   unused       
    SCM_BACKTRACE_DEPTH      unused?[2]   
    SCM_BACKTRACE_P          used[3]      
    SCM_DEVAL_P              deprecated   
    SCM_STACK_LIMIT          unused[4]    
    SCM_SHOW_FILE_NAME       used[5]      
    SCM_WARN_DEPRECATED      used         

    [1] used in `display-application', which is only used in (ice-9 debugger
        utils), which is unused

    [2] used in `display-backtrace-with-highlights', which is mostly
        replaced by `print-frames' in (system repl debug) but still used in
        `throw.c'

    [3] in `throw.c', to determine whether to display a backtrace

    [4] unused but initialized in `debug.c'

    [5] only in `display-backtrace-with-highlights', but could be used in
        (system repl debug)?

For debugging, part of the problem stems from the fact that ‘debug.c’ is
now partly redundant with (system repl debug).  For instance,
‘display-backtrace-with-highlights’ could be implemented in Scheme and
share code with ‘print-frames’.

So, what do you think?  What should be kept, deprecated, etc.?

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: eval-options, debug-options, etc.
  2010-08-27  9:51 eval-options, debug-options, etc Ludovic Courtès
@ 2010-08-28  3:51 ` Andy Wingo
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Wingo @ 2010-08-28  3:51 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

Hello!

On Fri 27 Aug 2010 02:51, ludo@gnu.org (Ludovic Courtès) writes:

> So, what do you think?  What should be kept, deprecated, etc.?

MHO is that all of those symbols should be removed. We will need noop
shims so that we don't gratuitously break people's compiles, but I don't
think we want to support that kind of C interface to any of those knobs,
even if the knobs live on (e.g. deprecation warnings, which might be
replaced by a function call or so).

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-08-28  3:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-27  9:51 eval-options, debug-options, etc Ludovic Courtès
2010-08-28  3:51 ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).