src/HOL/ex/Codegenerator_Pretty.thy
author haftmann
Tue, 16 Sep 2008 09:21:24 +0200
changeset 28228 7ebe8dc06cbb
parent 26468 bb6a015219cf
child 28244 f433e544a855
permissions -rw-r--r--
evaluation using code generator
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24195
haftmann
parents:
diff changeset
     1
(*  Title:      HOL/ex/Codegenerator_Pretty.thy
haftmann
parents:
diff changeset
     2
    ID:         $Id$
haftmann
parents:
diff changeset
     3
    Author:     Florian Haftmann, TU Muenchen
haftmann
parents:
diff changeset
     4
*)
haftmann
parents:
diff changeset
     5
haftmann
parents:
diff changeset
     6
header {* Simple examples for pretty numerals and such *}
haftmann
parents:
diff changeset
     7
haftmann
parents:
diff changeset
     8
theory Codegenerator_Pretty
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
     9
imports ExecutableContent Code_Char Efficient_Nat
24195
haftmann
parents:
diff changeset
    10
begin
haftmann
parents:
diff changeset
    11
28228
7ebe8dc06cbb evaluation using code generator
haftmann
parents: 26468
diff changeset
    12
declare isnorm.simps [code func del]
7ebe8dc06cbb evaluation using code generator
haftmann
parents: 26468
diff changeset
    13
7ebe8dc06cbb evaluation using code generator
haftmann
parents: 26468
diff changeset
    14
lemma [code func, code func del]:
7ebe8dc06cbb evaluation using code generator
haftmann
parents: 26468
diff changeset
    15
  "(Code_Eval.term_of :: char \<Rightarrow> term) = Code_Eval.term_of" ..
25933
7fc0f4065251 proper meaningful examples
haftmann
parents: 25616
diff changeset
    16
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    17
declare char.recs [code func del]
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    18
  char.cases [code func del]
25933
7fc0f4065251 proper meaningful examples
haftmann
parents: 25616
diff changeset
    19
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    20
ML {* (*FIXME get rid of this*)
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    21
nonfix union;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    22
nonfix inter;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    23
nonfix upto;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    24
*}
25933
7fc0f4065251 proper meaningful examples
haftmann
parents: 25616
diff changeset
    25
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    26
export_code * in SML module_name CodegenTest
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    27
  in OCaml module_name CodegenTest file -
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    28
  in Haskell file -
25616
28d373f1482a added div/mod examples
haftmann
parents: 24530
diff changeset
    29
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    30
ML {*
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    31
infix union;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    32
infix inter;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    33
infix 4 upto;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    34
*}
24195
haftmann
parents:
diff changeset
    35
haftmann
parents:
diff changeset
    36
end