src/Pure/Isar/comment.ML
author wenzelm
Mon, 22 Oct 2001 18:07:30 +0200
changeset 11896 1ff33f896720
parent 9127 b1dc56410b63
permissions -rw-r--r--
moved locale.ML to Isar/locale.ML;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     1
(*  Title:      Pure/Isar/comment.ML
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     2
    ID:         $Id$
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     3
    Author:     Markus Wenzel, TU Muenchen
8807
wenzelm
parents: 8076
diff changeset
     4
    License:    GPL (GNU GENERAL PUBLIC LICENSE)
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     5
9127
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
     6
Internal markup of formal comments -- mostly dummy.
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     7
*)
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     8
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     9
signature COMMENT =
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    10
sig
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    11
  type text
7631
1b6b51b17c4a added string_of: text -> string;
wenzelm
parents: 7171
diff changeset
    12
  val string_of: text -> string
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    13
  val plain: string list -> text
6725
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    14
  val none: text
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    15
  val ignore: 'a * text -> 'a
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    16
  type interest
7171
2a245a80a2c5 improved interest;
wenzelm
parents: 6725
diff changeset
    17
  val interest: int -> interest
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    18
  val no_interest: interest
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    19
  val default_interest: interest
6725
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    20
  val ignore_interest: 'a * interest -> 'a
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    21
  val ignore_interest': interest * 'a -> 'a
9127
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    22
  exception OUTPUT_FAIL of (string * Position.T) * exn
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    23
end;
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    24
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    25
structure Comment: COMMENT =
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    26
struct
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    27
9127
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    28
(* text *)
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    29
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    30
datatype text = Text of string list;
7631
1b6b51b17c4a added string_of: text -> string;
wenzelm
parents: 7171
diff changeset
    31
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    32
fun string_of (Text ss) = cat_lines ss;
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    33
val plain = Text;
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    34
val none = plain [];
6725
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    35
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    36
fun ignore (x, _) = x;
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    37
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    38
9127
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    39
(* interest *)
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    40
7171
2a245a80a2c5 improved interest;
wenzelm
parents: 6725
diff changeset
    41
datatype interest = Interest of int;
2a245a80a2c5 improved interest;
wenzelm
parents: 6725
diff changeset
    42
val interest = Interest;
2a245a80a2c5 improved interest;
wenzelm
parents: 6725
diff changeset
    43
val no_interest = interest ~1;
2a245a80a2c5 improved interest;
wenzelm
parents: 6725
diff changeset
    44
val default_interest = interest 0;
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    45
6725
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    46
fun ignore_interest (x, _) = x;
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    47
fun ignore_interest' (_, x) = x;
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    48
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    49
9127
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    50
(* output errors *)
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    51
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    52
(*note: actually belongs to isar_output.ML*)
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    53
exception OUTPUT_FAIL of (string * Position.T) * exn;
b1dc56410b63 exception OUTPUT_FAIL of (string * Position.T) * exn
wenzelm
parents: 8807
diff changeset
    54
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    55
end;