src/HOL/ex/Antiquote.thy
author paulson
Thu, 01 Oct 1998 18:30:05 +0200
changeset 5601 b6456ccd9e3e
parent 5368 7c8d1c7c876d
child 8559 fd3753188232
permissions -rw-r--r--
revised for new treatment of integers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5368
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     1
(*  Title:      HOL/ex/Antiquote.thy
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     2
    ID:         $Id$
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     3
    Author:     Markus Wenzel, TU Muenchen
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     4
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     5
Simple quote / antiquote example.
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     6
*)
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     7
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     8
Antiquote = Arith +
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
     9
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    10
syntax
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    11
  "_Expr" :: "'a => 'a"				("EXPR _" [1000] 999)
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    12
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    13
constdefs
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    14
  var :: "'a => ('a => nat) => nat"		("VAR _" [1000] 999)
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    15
  "var x env == env x"
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    16
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    17
  Expr :: "'a => 'a"
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    18
	(*"(('a => nat) => nat) => (('a => nat) => nat)"*)
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    19
  "Expr == (%x. x)"
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    20
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    21
end
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    22
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    23
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    24
ML
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    25
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    26
val parse_translation = [Syntax.quote_antiquote_tr "_Expr" "var" "Expr"];
7c8d1c7c876d added Antiquote example;
wenzelm
parents:
diff changeset
    27
val print_translation = [Syntax.quote_antiquote_tr' "_Expr" "var" "Expr"];