diff --git a/docs/conf.py b/docs/conf.py index 69badcde9..509d8203e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -185,6 +185,10 @@ def maketable(items, columns=5, gap=4): with open("_build/keywords_soft.txt", "w") as outFile: for row in maketable(ScenicParser.SOFT_KEYWORDS): outFile.write(row + "\n") +with open("_build/builtin_names.txt", "w") as outFile: + for row in maketable(scenic.syntax.compiler.builtinNames): + outFile.write(row + "\n") + # -- Monkeypatch ModuleAnalyzer to handle Scenic modules --------------------- diff --git a/docs/reference/general.rst b/docs/reference/general.rst index 7f5597033..6d6e33ef5 100644 --- a/docs/reference/general.rst +++ b/docs/reference/general.rst @@ -30,9 +30,9 @@ To avoid confusion, we recommend not using ``distance``, ``angle``, ``offset``, .. literalinclude:: /_build/keywords_soft.txt :language: text -There are also three additional names in Scenic that are transformed internally when called: ``str``, ``int``, and ``float``. Calls using these names are transformed to versions that can handle distributions and lazy values as arguments, but are otherwise equivalent. If these names are re-defined in a Scenic program, then calls referencing them will **not** use the new definition. For example, in the following code block the ``newInt`` function will **not** be executed:: +.. rubric:: Builtin Names - def newInt(*args, **kwargs): - ... - int = newInt - int(1.5) +The following names are built into Scenic and can be used but not overwritten . + +.. literalinclude:: /_build/builtin_names.txt + :language: text