4646
4747 modules .append (module )
4848
49- builtins = []
49+ _builtins = []
5050builtins_by_module = {}
5151
5252
@@ -78,7 +78,7 @@ def is_builtin(var):
7878 # This set the default context for symbols in mathics.builtins
7979 if not type (instance ).context :
8080 type(instance ).context = "System`"
81- builtins .append ( (instance .get_name (), instance ))
81+ _builtins .append ( (instance .get_name (), instance ))
8282 builtins_by_module [module .__name__ ].append (instance )
8383
8484
@@ -88,7 +88,6 @@ def is_builtin(var):
8888mathics_to_python = {} # here we have: name -> string
8989sympy_to_mathics = {}
9090
91- box_constructs = {}
9291pattern_objects = {}
9392builtins_precedence = {}
9493
@@ -104,20 +103,24 @@ def add_builtins(new_builtins):
104103 mathics_to_sympy [name ] = builtin
105104 for sympy_name in builtin .get_sympy_names ():
106105 sympy_to_mathics [sympy_name ] = builtin
107- if isinstance (builtin , BoxConstruct ):
108- box_constructs [name ] = builtin
109106 if isinstance (builtin , Operator ):
110107 builtins_precedence [name ] = builtin .precedence
111108 if isinstance (builtin , PatternObject ):
112109 pattern_objects [name ] = builtin .__class__
113- builtins .update (dict (new_builtins ))
110+ _builtins .update (dict (new_builtins ))
114111
115112
116- new_builtins = builtins
117- builtins = {}
113+ new_builtins = _builtins
114+ _builtins = {}
118115add_builtins (new_builtins )
119116
120117
118+ def builtins_dict ():
119+ return { builtin .get_name () : builtin
120+ for modname , builtins in builtins_by_module .items ()
121+ for builtin in builtins }
122+
123+
121124def get_module_doc (module ):
122125 doc = module .__doc__
123126 if doc is not None :
@@ -137,8 +140,8 @@ def get_module_doc(module):
137140
138141def contribute (definitions ):
139142 # let MakeBoxes contribute first
140- builtins ["System`MakeBoxes" ].contribute (definitions )
141- for name , item in builtins .items ():
143+ _builtins ["System`MakeBoxes" ].contribute (definitions )
144+ for name , item in _builtins .items ():
142145 if name != "System`MakeBoxes" :
143146 item .contribute (definitions )
144147
0 commit comments