[isabelle-dev] isabelle-dev and ML files
Timothy Bourke
Timothy.Bourke at nicta.com.au
Mon Oct 26 00:26:43 CET 2009
On Oct 23 at 16:32 +0200, Makarius wrote:
> On Fri, 23 Oct 2009, Timothy Bourke wrote:
>
>> I'm having some trouble working with ML files in recent dev versions.
>>
>> Given, for example, a file test.ML:
>> structure Test =
>> struct
>> val s1 = "\<top>";
>> val s2 = "\\<top>";
>> end;
>>
>> And two tests:
>> ML) Direct ML: isabelle-process < test.ML
>> USE) Interactive isabelle: use "test.ML";
>>
>> I get the following results for Isabelle 2009 and a recent (yesterday)
>> dev version:
>> \ version
>> test \ 2009 dev
>> +-------------+------------+
>> ML | s1 fails | s1 fails |
>> | s2 works | s2 works |
>> +-------------+------------+
>> USE | s1 works | s1 works |
>> | s2 works | s2 fails |
>> +-------------+------------+
>>
>> Is the dev behaviour correct?
>
> Shouldn't the status of s1 and s2 be swapped in ML/dev?
I'm reasonably sure that the table is accurate.
> Which version are you using anyway? In the face of non-linear
> distributed history with time-jumps, only the offical changeset id
> counts, e.g. fe29679cabc2 in my case ("hg id" helps to figure this
> out).
b8ca12f6681a
> The 'ML' and 'use' commands operate exactly the same way, and
> invoking the "use" function from the raw ML toplevel should coincide
> with that. All of this treats Isabelle symbols as native content of
> the ML sources, so there is no longer that extra escaping (this
> oddity was occasionally causing confusion in the past, and had to
> dissappear altogether when precise counting of source positions was
> introduced.)
I agree that, within an isabelle session, 'ML' and 'use' are
consistent.
> This means that ML sources with Isabelle symbols cannot be pasted
> into the raw ML loop. In practive you need a proper context anyway
> (for antiquotations etc.) so it is best to work trough Isar/ML all
> the time, unless you do really low-level work on the ML system
> itself.
Ok. This was my point.
It used to be possible to test modifications to isabelle source files
containing \<...> symbols, from within emacs, by typing:
ML {* use "src/Pure/Thy/html.ML" *}
But I can understand that this change is only likely to affect a few
people, and, even then, not very often.
Thank you for the explanations.
Tim.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20091026/556be84a/attachment.sig>
More information about the isabelle-dev
mailing list