equal
deleted
inserted
replaced
698 map (expand_abbrevs ctxt); |
698 map (expand_abbrevs ctxt); |
699 |
699 |
700 fun standard_term_uncheck ctxt = |
700 fun standard_term_uncheck ctxt = |
701 map (contract_abbrevs ctxt); |
701 map (contract_abbrevs ctxt); |
702 |
702 |
703 fun add eq what f = Context.>> (what (fn xs => fn ctxt => |
703 in |
704 let val xs' = f ctxt xs in if eq_list eq (xs, xs') then NONE else SOME (xs', ctxt) end)); |
704 |
705 |
705 val _ = Context.>> |
706 in |
706 (Syntax.add_typ_check 0 "standard" standard_typ_check #> |
707 |
707 Syntax.add_term_check 0 "standard" standard_term_check #> |
708 val _ = add (op =) (Syntax.add_typ_check 0 "standard") standard_typ_check; |
708 Syntax.add_term_check 100 "fixate" prepare_patterns #> |
709 val _ = add (op aconv) (Syntax.add_term_check 0 "standard") standard_term_check; |
709 Syntax.add_term_uncheck 0 "standard" standard_term_uncheck); |
710 val _ = add (op aconv) (Syntax.add_term_check 100 "fixate") prepare_patterns; |
|
711 |
|
712 val _ = add (op aconv) (Syntax.add_term_uncheck 0 "standard") standard_term_uncheck; |
|
713 |
710 |
714 end; |
711 end; |
715 |
712 |
716 |
713 |
717 |
714 |