libisabelle-protocol/classy/Classy.thy
changeset 59469 5c56f14bea53
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/libisabelle-protocol/classy/Classy.thy	Tue Sep 04 14:50:30 2018 +0200
     1.3 @@ -0,0 +1,35 @@
     1.4 +theory Classy
     1.5 +imports Pure
     1.6 +keywords
     1.7 +  "ML.class" :: thy_decl % "ML" and
     1.8 +  "ML.instance" :: thy_decl % "ML" and
     1.9 +  "ML.print_classes" :: diag
    1.10 +begin
    1.11 +
    1.12 +(* FIXME unfold in ML files *)
    1.13 +ML\<open>
    1.14 +  val secure_use_text = ML_Compiler0.ML
    1.15 +  val context_set_thread_data = Context.setmp_generic_context
    1.16 +  fun ml_env_context return : ML_Compiler0.context =
    1.17 +    {name_space = #name_space ML_Env.context,
    1.18 +     print_depth = SOME 1000000,
    1.19 +     here = #here ML_Env.context,
    1.20 +     print = fn r => return := SOME r,
    1.21 +     error = #error ML_Env.context}
    1.22 +  val print_int = Value.print_int
    1.23 +\<close>
    1.24 +
    1.25 +ML_file "ml_types.ML"
    1.26 +ML_file "classy.ML"
    1.27 +
    1.28 +setup \<open>Classy.setup\<close>
    1.29 +
    1.30 +ML_file "pretty_class.ML"
    1.31 +
    1.32 +ML.class pretty = \<open>'a pretty_class\<close>
    1.33 +
    1.34 +ML.instance \<open>Pretty_Class.string\<close> :: pretty
    1.35 +ML.instance \<open>Pretty_Class.pretty\<close> :: pretty
    1.36 +ML.instance \<open>Pretty_Class.list\<close> :: pretty
    1.37 +
    1.38 +end