[isabelle-dev] NEWS: asynchronous print functions etc.
Makarius
makarius at sketis.net
Thu Jul 18 22:44:26 CEST 2013
On Thu, 18 Jul 2013, Florian Haftmann wrote:
>>>> "Code generator: dropping subsumed code equation" by Auto Quickcheck
>>>
>>>> I guess it would be the task the tools to omit such outbursts and not
>>>> globally on the IDE side?
>>>
>>> In principle Context_Position.is_visible should control that, and the
>>> tools should observe it accordingly.
>>
>> The canonical way to do that is
>>
>> Context_Position.if_visible ctxt warning
>>
>> but this does not work for code equations, because the operations of
>> src/Pure/Isar/code.ML act on a global theory, which is always "visible"
>> in that sense.
I have generalized the concept to allow changing the visibility of a
global theory context as well. This is observed by unify.ML, as a guard
to its many tracing options, find_theorems.ML then copies the
Proof.context visibility over to a copy of the background theory of the
goal state, so 'solve_direct' no longer produces spam from this source,
see Isabelle/d68fd63bf082.
>> Maybe Florian also has some ideas about codegen.
>
> One answer would be to eliminate this meanwhile somehow ridiculous
> warning entirely.
In principle you could refer to Context_Position.is_visible_global as
well, but it looks all a bit complicated: quickcheck would have to pass
down a modified theory, and code.ML would have to get all these lazy
theory_ref things right.
Note that I am presently experimenting with a purely value-oriented theory
type (Isabelle/38466f4f3483), where theory_ref is just an alias and
Theory.copy / Theory.checkpoint just the identity. So any mistakes in
rearanging the theory_ref management in code.ML won't be detected at
first, only if I have to backout 38466f4f3483 (e.g. due to resoure
problems).
Makarius
More information about the isabelle-dev
mailing list