src/Pure/Isar/comment.ML
author wenzelm
Sun, 21 May 2000 14:33:46 +0200
changeset 8896 c80aba8c1d5e
parent 8807 0046be1769f9
child 9127 b1dc56410b63
permissions -rw-r--r--
replaced {{ }} by { };
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
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
     6
Formal comments.
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
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    22
end;
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    23
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    24
structure Comment: COMMENT =
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    25
struct
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    26
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    27
(** text **)
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    28
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    29
datatype text = Text of string list;
7631
1b6b51b17c4a added string_of: text -> string;
wenzelm
parents: 7171
diff changeset
    30
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    31
fun string_of (Text ss) = cat_lines ss;
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    32
val plain = Text;
8076
ef78716f39ef text: string list;
wenzelm
parents: 7631
diff changeset
    33
val none = plain [];
6725
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    34
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    35
fun ignore (x, _) = x;
b91772e592dc renamed empty to none;
wenzelm
parents: 6549
diff changeset
    36
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    37
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    38
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    39
(** interest **)
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
6549
90fa592f6e6e added Isar/comment.ML;
wenzelm
parents:
diff changeset
    50
end;