Thy_Info.use_thy_legacy removed

Makarius makarius at sketis.net
Wed Jan 14 21:35:15 CET 2026


*** ML ***

* Obsolete Thy_Info.use_thy_legacy has been removed. Rare
INCOMPATIBILITY: need to use formal PIDE session to load theories, e.g.
via "isabelle build" or "isabelle process_theories".


This refers to Isabelle/955f8ac18136.

The Isabelle2025-1 release already had this NEWS entry:

* The former command-line tool "isabelle process" has been renamed to
"isabelle ML_process", with new options -C DIR and -r (redirect). The
old option option -T to load individual theories via the Isabelle/ML
"use_thy" function has been removed. It is still possible to use
"Thy_Info.use_thy_legacy" together with "isabelle ML_process -e ...",
but that low-level entry to the theory loader will be removed at a later
stage. The proper way to process individual theories under program
control is via "isabelle process_theories". INCOMPATIBILITY.


So that's finally it: no "use_thy" anymore. It was the central Isabelle/ML 
operation since 1992, and already present in changeset 0 (Sep-1993):
https://isabelle.in.tum.de/repos/isabelle/file/a5a9c433f639/src/Pure/Thy/read.ML

The implementation behind it has changed many times since then, but now we 
have better ways to communicate between Isabelle/Scala and Isabelle/ML, 
without the old toplevel loop.

Rather soon, I will revisit the protocol function "build_theories" and its 
underlying ML function Thy_Info.use_theories, in order to make it more 
scalable and less sequential: meaning that intermediate states are removed 
earlier in the process, and heap space is released.


	Makarius



More information about the isabelle-dev mailing list