src/Doc/Implementation/ML.thy
changeset 62354 fdd6989cc8a0
parent 61854 38b049cd3aad
child 62505 9e2a65912111
equal deleted inserted replaced
62341:a594429637fd 62354:fdd6989cc8a0
   503 
   503 
   504 text \<open>
   504 text \<open>
   505   ML and Isar are intertwined via an open-ended bootstrap process that
   505   ML and Isar are intertwined via an open-ended bootstrap process that
   506   provides more and more programming facilities and logical content in an
   506   provides more and more programming facilities and logical content in an
   507   alternating manner. Bootstrapping starts from the raw environment of
   507   alternating manner. Bootstrapping starts from the raw environment of
   508   existing implementations of Standard ML (mainly Poly/ML, but also SML/NJ).
   508   existing implementations of Standard ML (mainly Poly/ML).
   509 
   509 
   510   Isabelle/Pure marks the point where the raw ML toplevel is superseded by
   510   Isabelle/Pure marks the point where the raw ML toplevel is superseded by
   511   Isabelle/ML within the Isar theory and proof language, with a uniform
   511   Isabelle/ML within the Isar theory and proof language, with a uniform
   512   context for arbitrary ML values (see also \secref{sec:context}). This formal
   512   context for arbitrary ML values (see also \secref{sec:context}). This formal
   513   environment holds ML compiler bindings, logical entities, and many other
   513   environment holds ML compiler bindings, logical entities, and many other
  1377   \end{mldecls}
  1377   \end{mldecls}
  1378 
  1378 
  1379   \<^descr> Type @{ML_type int} represents regular mathematical integers, which are
  1379   \<^descr> Type @{ML_type int} represents regular mathematical integers, which are
  1380   \<^emph>\<open>unbounded\<close>. Overflow is treated properly, but should never happen in
  1380   \<^emph>\<open>unbounded\<close>. Overflow is treated properly, but should never happen in
  1381   practice.\<^footnote>\<open>The size limit for integer bit patterns in memory is 64\,MB for
  1381   practice.\<^footnote>\<open>The size limit for integer bit patterns in memory is 64\,MB for
  1382   32-bit Poly/ML, and much higher for 64-bit systems.\<close> This works uniformly
  1382   32-bit Poly/ML, and much higher for 64-bit systems.\<close>
  1383   for all supported ML platforms (Poly/ML and SML/NJ).
       
  1384 
  1383 
  1385   Literal integers in ML text are forced to be of this one true integer type
  1384   Literal integers in ML text are forced to be of this one true integer type
  1386   --- adhoc overloading of SML97 is disabled.
  1385   --- adhoc overloading of SML97 is disabled.
  1387 
  1386 
  1388   Structure @{ML_structure IntInf} of SML97 is obsolete and superseded by
  1387   Structure @{ML_structure IntInf} of SML97 is obsolete and superseded by