equal
deleted
inserted
replaced
702 |
702 |
703 val datatyp = define_datatype (K I) (K I) (K I); |
703 val datatyp = define_datatype (K I) (K I) (K I); |
704 |
704 |
705 val datatype_cmd = define_datatype Typedecl.read_constraint Syntax.parse_typ Syntax.read_term; |
705 val datatype_cmd = define_datatype Typedecl.read_constraint Syntax.parse_typ Syntax.read_term; |
706 |
706 |
707 val parse_opt_binding_colon = Scan.optional (Parse.binding --| @{keyword ":"}) no_binder |
707 val parse_binding_colon = Parse.binding --| @{keyword ":"}; |
|
708 val parse_opt_binding_colon = Scan.optional parse_binding_colon no_binder; |
708 |
709 |
709 val parse_ctr_arg = |
710 val parse_ctr_arg = |
710 @{keyword "("} |-- parse_opt_binding_colon -- Parse.typ --| @{keyword ")"} || |
711 @{keyword "("} |-- parse_binding_colon -- Parse.typ --| @{keyword ")"} || |
711 (Parse.typ >> pair no_binder); |
712 (Parse.typ >> pair no_binder); |
712 |
713 |
713 val parse_defaults = |
714 val parse_defaults = |
714 @{keyword "("} |-- @{keyword "defaults"} |-- Scan.repeat parse_bound_term --| @{keyword ")"}; |
715 @{keyword "("} |-- @{keyword "defaults"} |-- Scan.repeat parse_bound_term --| @{keyword ")"}; |
715 |
716 |