src/HOL/ex/Codegenerator_Pretty.thy
author krauss
Tue, 05 Aug 2008 14:40:48 +0200
changeset 27742 df552e6027cf
parent 26468 bb6a015219cf
child 28228 7ebe8dc06cbb
permissions -rw-r--r--
fix HOL/ex/LexOrds.thy; add to regression
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
26022
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    12
setup {*
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    13
  Code.del_funcs
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    14
    (AxClass.param_of_inst @{theory} (@{const_name "Eval.term_of"}, @{type_name "index"}))
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    15
  #> Code.del_funcs
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    16
    (AxClass.param_of_inst @{theory} (@{const_name "Eval.term_of"}, @{type_name "char"}))
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    17
  #> Code.del_funcs
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    18
    (AxClass.param_of_inst @{theory} (@{const_name "Eval.term_of"}, @{type_name "int"}))
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    19
  #> Code.del_funcs
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    20
    (AxClass.param_of_inst @{theory} (@{const_name "Eval.term_of"}, @{type_name "nat"}))
b30a342a6e29 temporary adjustions
haftmann
parents: 25963
diff changeset
    21
*}
25933
7fc0f4065251 proper meaningful examples
haftmann
parents: 25616
diff changeset
    22
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    23
declare char.recs [code func del]
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    24
  char.cases [code func del]
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    25
  char.size [code func del]
24195
haftmann
parents:
diff changeset
    26
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    27
declare isnorm.simps [code func del]
25933
7fc0f4065251 proper meaningful examples
haftmann
parents: 25616
diff changeset
    28
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    29
ML {* (*FIXME get rid of this*)
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    30
nonfix union;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    31
nonfix inter;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    32
nonfix upto;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    33
*}
25933
7fc0f4065251 proper meaningful examples
haftmann
parents: 25616
diff changeset
    34
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    35
export_code * in SML module_name CodegenTest
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    36
  in OCaml module_name CodegenTest file -
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    37
  in Haskell file -
25616
28d373f1482a added div/mod examples
haftmann
parents: 24530
diff changeset
    38
25963
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    39
ML {*
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    40
infix union;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    41
infix inter;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    42
infix 4 upto;
07e08dad8a77 distinguished examples for Efficient_Nat.thy
haftmann
parents: 25933
diff changeset
    43
*}
24195
haftmann
parents:
diff changeset
    44
haftmann
parents:
diff changeset
    45
end