src/Pure/Isar/proof_data.ML
changeset 6777 175ff298ac0e
parent 5821 262ce90e4736
child 6788 6eaf6856ee4a
equal deleted inserted replaced
6776:55f1e6b639a4 6777:175ff298ac0e
    18   type T
    18   type T
    19   val init: theory -> theory
    19   val init: theory -> theory
    20   val print: Proof.context -> unit
    20   val print: Proof.context -> unit
    21   val get: Proof.context -> T
    21   val get: Proof.context -> T
    22   val put: T -> Proof.context -> Proof.context
    22   val put: T -> Proof.context -> Proof.context
       
    23   val put_st: T -> Proof.state -> Proof.state
    23 end;
    24 end;
    24 
    25 
    25 functor ProofDataFun(Args: PROOF_DATA_ARGS): PROOF_DATA =
    26 functor ProofDataFun(Args: PROOF_DATA_ARGS): PROOF_DATA =
    26 struct
    27 struct
    27 
    28 
    36     (Data o Args.init, fn ctxt => fn (Data x) => Args.print ctxt x);
    37     (Data o Args.init, fn ctxt => fn (Data x) => Args.print ctxt x);
    37 
    38 
    38 val print = ProofContext.print_data kind;
    39 val print = ProofContext.print_data kind;
    39 val get = ProofContext.get_data kind (fn Data x => x);
    40 val get = ProofContext.get_data kind (fn Data x => x);
    40 val put = ProofContext.put_data kind Data;
    41 val put = ProofContext.put_data kind Data;
       
    42 val put_st = Proof.put_data kind Data;
    41 
    43 
    42 end;
    44 end;
    43 
    45 
    44 
    46 
    45 (*hide private data access functions*)
    47 (*hide private data access functions*)