Skip to content

Latest commit

 

History

History
35 lines (20 loc) · 975 Bytes

README.md

File metadata and controls

35 lines (20 loc) · 975 Bytes

ExpressionCleanup

AddCleanupFunction[expr, func] will call func when all references to expr are gone.

Cleanup[expr] will call any cleanup code that has been registered for expr, and Cleanup[] will call all registered cleanup code. All cleanup code is called when the kernel exits cleanly.

Note that 'references' includes anything in the output history, anything accessible via % or Out[..]. In the example below, $HistoryLength is set to zero otherwise Out[4] would have kept the expression still available.

In[1]:= PacletDirectoryLoad[pathToGitCheckout];

In[2]:= << ExpressionCleanup`
(*library will be built if need be*)

In[3]:= $HistoryLength = 0

Out[3]= 0

In[4]:= f = {1, 2, 3}

Out[4]= {1, 2, 3}

In[5]:= AddCleanupFunction[f,
  Print["calling deletion code"];
  Print["use any compound expression"];
]

In[6]:= f =.

During evaluation of In[6]:= calling deletion code

During evaluation of In[6]:= use any compound expression