src/HOL/HOLCF/Tools/cont_consts.ML
changeset 42287 d98eb048a2e4
parent 42224 578a51fae383
child 42290 b1f544c84040
equal deleted inserted replaced
42286:24075ad39ca2 42287:d98eb048a2e4
    48 fun transform thy (c, T, mx) =
    48 fun transform thy (c, T, mx) =
    49   let
    49   let
    50     fun syntax b = Syntax.mark_const (Sign.full_bname thy b)
    50     fun syntax b = Syntax.mark_const (Sign.full_bname thy b)
    51     val c1 = Binding.name_of c
    51     val c1 = Binding.name_of c
    52     val c2 = c1 ^ "_cont_syntax"
    52     val c2 = c1 ^ "_cont_syntax"
    53     val n = Syntax.mixfix_args mx
    53     val n = Mixfix.mixfix_args mx
    54   in
    54   in
    55     ((c, T, NoSyn),
    55     ((c, T, NoSyn),
    56       (Binding.name c2, change_arrow n T, mx),
    56       (Binding.name c2, change_arrow n T, mx),
    57       trans_rules (syntax c2) (syntax c1) n mx)
    57       trans_rules (syntax c2) (syntax c1) n mx)
    58   end
    58   end
    62 
    62 
    63 fun is_contconst (_, _, NoSyn) = false
    63 fun is_contconst (_, _, NoSyn) = false
    64   | is_contconst (_, _, Binder _) = false    (* FIXME ? *)
    64   | is_contconst (_, _, Binder _) = false    (* FIXME ? *)
    65   | is_contconst (c, T, mx) =
    65   | is_contconst (c, T, mx) =
    66       let
    66       let
    67         val n = Syntax.mixfix_args mx handle ERROR msg =>
    67         val n = Mixfix.mixfix_args mx handle ERROR msg =>
    68           cat_error msg ("in mixfix annotation for " ^ quote (Binding.str_of c))
    68           cat_error msg ("in mixfix annotation for " ^ quote (Binding.str_of c))
    69       in cfun_arity T >= n end
    69       in cfun_arity T >= n end
    70 
    70 
    71 
    71 
    72 (* add_consts *)
    72 (* add_consts *)