6 *) |
6 *) |
7 |
7 |
8 signature ISAR_CMD = |
8 signature ISAR_CMD = |
9 sig |
9 sig |
10 val exit: Toplevel.transition -> Toplevel.transition |
10 val exit: Toplevel.transition -> Toplevel.transition |
11 val restart: Toplevel.transition -> Toplevel.transition |
|
12 val quit: Toplevel.transition -> Toplevel.transition |
11 val quit: Toplevel.transition -> Toplevel.transition |
|
12 val init_toplevel: Toplevel.transition -> Toplevel.transition |
|
13 val touch_all_thys: Toplevel.transition -> Toplevel.transition |
|
14 val touch_thy: string -> Toplevel.transition -> Toplevel.transition |
|
15 val remove_thy: string -> Toplevel.transition -> Toplevel.transition |
|
16 val kill_theory: Toplevel.transition -> Toplevel.transition |
13 val cannot_undo: string -> Toplevel.transition -> Toplevel.transition |
17 val cannot_undo: string -> Toplevel.transition -> Toplevel.transition |
14 val clear_undo: Toplevel.transition -> Toplevel.transition |
18 val clear_undo: Toplevel.transition -> Toplevel.transition |
15 val redo: Toplevel.transition -> Toplevel.transition |
19 val redo: Toplevel.transition -> Toplevel.transition |
16 val undos_proof: int -> Toplevel.transition -> Toplevel.transition |
20 val undos_proof: int -> Toplevel.transition -> Toplevel.transition |
17 val kill_proof: Toplevel.transition -> Toplevel.transition |
21 val kill_proof: Toplevel.transition -> Toplevel.transition |
18 val undo_theory: Toplevel.transition -> Toplevel.transition |
22 val undo_theory: Toplevel.transition -> Toplevel.transition |
19 val kill_theory: Toplevel.transition -> Toplevel.transition |
|
20 val undo: Toplevel.transition -> Toplevel.transition |
23 val undo: Toplevel.transition -> Toplevel.transition |
21 val use: string -> Toplevel.transition -> Toplevel.transition |
24 val use: string -> Toplevel.transition -> Toplevel.transition |
22 val use_mltext_theory: string -> Toplevel.transition -> Toplevel.transition |
25 val use_mltext_theory: string -> Toplevel.transition -> Toplevel.transition |
23 val use_mltext: string -> Toplevel.transition -> Toplevel.transition |
26 val use_mltext: string -> Toplevel.transition -> Toplevel.transition |
24 val use_commit: Toplevel.transition -> Toplevel.transition |
27 val use_commit: Toplevel.transition -> Toplevel.transition |
25 val cd: string -> Toplevel.transition -> Toplevel.transition |
28 val cd: string -> Toplevel.transition -> Toplevel.transition |
26 val pwd: Toplevel.transition -> Toplevel.transition |
29 val pwd: Toplevel.transition -> Toplevel.transition |
27 val use_thy: string -> Toplevel.transition -> Toplevel.transition |
30 val use_thy: string -> Toplevel.transition -> Toplevel.transition |
28 val use_thy_only: string -> Toplevel.transition -> Toplevel.transition |
31 val use_thy_only: string -> Toplevel.transition -> Toplevel.transition |
29 val update_thy: string -> Toplevel.transition -> Toplevel.transition |
32 val update_thy: string -> Toplevel.transition -> Toplevel.transition |
|
33 val update_thy_only: string -> Toplevel.transition -> Toplevel.transition |
30 val print_theory: Toplevel.transition -> Toplevel.transition |
34 val print_theory: Toplevel.transition -> Toplevel.transition |
31 val print_syntax: Toplevel.transition -> Toplevel.transition |
35 val print_syntax: Toplevel.transition -> Toplevel.transition |
32 val print_theorems: Toplevel.transition -> Toplevel.transition |
36 val print_theorems: Toplevel.transition -> Toplevel.transition |
33 val print_attributes: Toplevel.transition -> Toplevel.transition |
37 val print_attributes: Toplevel.transition -> Toplevel.transition |
34 val print_methods: Toplevel.transition -> Toplevel.transition |
38 val print_methods: Toplevel.transition -> Toplevel.transition |
49 val exit = Toplevel.keep (fn state => |
53 val exit = Toplevel.keep (fn state => |
50 (Context.set_context (try Toplevel.theory_of state); |
54 (Context.set_context (try Toplevel.theory_of state); |
51 writeln "Leaving the Isar loop. Invoke 'loop();' to restart."; |
55 writeln "Leaving the Isar loop. Invoke 'loop();' to restart."; |
52 raise Toplevel.TERMINATE)); |
56 raise Toplevel.TERMINATE)); |
53 |
57 |
54 val restart = Toplevel.imperative (fn () => raise Toplevel.RESTART); |
|
55 val quit = Toplevel.imperative quit; |
58 val quit = Toplevel.imperative quit; |
|
59 |
|
60 val init_toplevel = Toplevel.imperative (fn () => raise Toplevel.RESTART); |
|
61 |
|
62 |
|
63 (* touch theories *) |
|
64 |
|
65 val touch_all_thys = Toplevel.imperative ThyInfo.touch_all_thys; |
|
66 fun touch_thy name = Toplevel.imperative (fn () => ThyInfo.touch_thy name); |
|
67 fun remove_thy name = Toplevel.imperative (fn () => ThyInfo.remove_thy name); |
|
68 val kill_theory = Toplevel.imperative (fn () => warning "Nothing to kill.") o Toplevel.kill; |
56 |
69 |
57 |
70 |
58 (* history commands *) |
71 (* history commands *) |
59 |
72 |
60 fun cannot_undo txt = Toplevel.imperative (fn () => error ("Cannot undo " ^ quote txt)); |
73 fun cannot_undo txt = Toplevel.imperative (fn () => error ("Cannot undo " ^ quote txt)); |
103 (* load theory files *) |
115 (* load theory files *) |
104 |
116 |
105 fun use_thy name = Toplevel.imperative (fn () => Context.save ThyInfo.use_thy name); |
117 fun use_thy name = Toplevel.imperative (fn () => Context.save ThyInfo.use_thy name); |
106 fun use_thy_only name = Toplevel.imperative (fn () => Context.save ThyInfo.use_thy_only name); |
118 fun use_thy_only name = Toplevel.imperative (fn () => Context.save ThyInfo.use_thy_only name); |
107 fun update_thy name = Toplevel.imperative (fn () => Context.save ThyInfo.update_thy name); |
119 fun update_thy name = Toplevel.imperative (fn () => Context.save ThyInfo.update_thy name); |
|
120 fun update_thy_only name = Toplevel.imperative (fn () => Context.save ThyInfo.update_thy_only name); |
108 |
121 |
109 |
122 |
110 (* print theory contents *) |
123 (* print theory contents *) |
111 |
124 |
112 val print_theory = Toplevel.keep (PureThy.print_theory o Toplevel.theory_of); |
125 val print_theory = Toplevel.keep (PureThy.print_theory o Toplevel.theory_of); |