MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: hiding definitions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg4387] Re: hiding definitions
  • From: rubin at msu.edu (Paul A. Rubin)
  • Date: Mon, 15 Jul 1996 09:21:37 -0400
  • Organization: Michigan State University
  • Sender: owner-wri-mathgroup at wolfram.com

In article <4rq82k$k0u at dragonfly.wolfram.com>,
   alexander.otte at studbox.uni-stuttgart.de (Alexander Otte) wrote:
->Hi!
->
->Is there any way to hide the definition of a function in Mma so that
->it is not visible when using the ?? help command?
->
->Setting the attribute ReadProtected would work, but 
->then ?? will not show the options of the function any more.
->
->So is there no way to create your own functions to work like build in
->ones (where ?? gives you the usage and options, but no definition)?
->
->Thanks !
->
->
->
->******************************************************
->  Alexander Otte                                  
->  Department of Physics                         
->  University of Stuttgart, Germany
->  E-mail: alexander.otte at studbox.uni-stuttgart.de
->******************************************************

This may not be the most elegant approach, but you can write all your code 
for function f in a function named ff, say, then ReadProtect ff, and make a 
new function f (the one you want visible) which simply calls ff, passing 
all arguments.  For instance:

In[]:=  test2[ x_, opts___ ] :=         (* I want to hide this function *)
          x + 1 + Offset /. {opts} /. Options[ test2 ] 
        Options[ test2 ] = {Offset -> 0};
In[]:=  test[ x_, opt___ ] := test2[ x, opt ]  (* the one I export *)
        Options[ test ] = { Offset -> 1 };
In[]:=  SetAttributes[ test2, ReadProtected ]

Paul

**************************************************************************
* Paul A. Rubin                                  Phone: (517) 432-3509   *
* Department of Management                       Fax:   (517) 432-1111   *
* Eli Broad Graduate School of Management        Net:   RUBIN at MSU.EDU    *
* Michigan State University                                              *
* East Lansing, MI  48824-1122  (USA)                                    *
**************************************************************************
Mathematicians are like Frenchmen:  whenever you say something to them,
they translate it into their own language, and at once it is something
entirely different.                                    J. W. v. GOETHE

==== [MESSAGE SEPARATOR] ====


  • Prev by Date: Re: c code generation
  • Next by Date: Re: NDSolve
  • Previous by thread: hiding definitions
  • Next by thread: Is there a bug in FIT?