equal
deleted
inserted
replaced
1222 @{keyword "("} |-- @{keyword "defaults"} |-- Scan.repeat parse_bound_term --| @{keyword ")"}; |
1222 @{keyword "("} |-- @{keyword "defaults"} |-- Scan.repeat parse_bound_term --| @{keyword ")"}; |
1223 |
1223 |
1224 val parse_type_arg_constrained = |
1224 val parse_type_arg_constrained = |
1225 Parse.type_ident -- Scan.option (@{keyword "::"} |-- Parse.!!! Parse.sort) |
1225 Parse.type_ident -- Scan.option (@{keyword "::"} |-- Parse.!!! Parse.sort) |
1226 |
1226 |
1227 val parse_type_arg_named_constrained = parse_opt_binding_colon -- parse_type_arg_constrained |
1227 val parse_type_arg_named_constrained = |
|
1228 parse_opt_binding_colon Binding.empty -- parse_type_arg_constrained |
1228 |
1229 |
1229 val parse_type_args_named_constrained = |
1230 val parse_type_args_named_constrained = |
1230 parse_type_arg_constrained >> (single o pair Binding.empty) || |
1231 parse_type_arg_constrained >> (single o pair Binding.empty) || |
1231 @{keyword "("} |-- Parse.!!! (Parse.list1 parse_type_arg_named_constrained --| @{keyword ")"}) || |
1232 @{keyword "("} |-- Parse.!!! (Parse.list1 parse_type_arg_named_constrained --| @{keyword ")"}) || |
1232 Scan.succeed []; |
1233 Scan.succeed []; |
1246 @{keyword "("} |-- Scan.repeat parse_map_rel_binding --| @{keyword ")"} |
1247 @{keyword "("} |-- Scan.repeat parse_map_rel_binding --| @{keyword ")"} |
1247 >> (fn ps => fold extract_map_rel ps no_map_rel) || |
1248 >> (fn ps => fold extract_map_rel ps no_map_rel) || |
1248 Scan.succeed no_map_rel; |
1249 Scan.succeed no_map_rel; |
1249 |
1250 |
1250 val parse_ctr_spec = |
1251 val parse_ctr_spec = |
1251 parse_opt_binding_colon -- Parse.binding -- Scan.repeat parse_ctr_arg -- |
1252 parse_opt_binding_colon smart_binding -- Parse.binding -- Scan.repeat parse_ctr_arg -- |
1252 Scan.optional parse_defaults [] -- Parse.opt_mixfix; |
1253 Scan.optional parse_defaults [] -- Parse.opt_mixfix; |
1253 |
1254 |
1254 val parse_spec = |
1255 val parse_spec = |
1255 parse_type_args_named_constrained -- Parse.binding -- parse_map_rel_bindings -- |
1256 parse_type_args_named_constrained -- Parse.binding -- parse_map_rel_bindings -- |
1256 Parse.opt_mixfix -- (@{keyword "="} |-- Parse.enum1 "|" parse_ctr_spec); |
1257 Parse.opt_mixfix -- (@{keyword "="} |-- Parse.enum1 "|" parse_ctr_spec); |