src/Pure/Syntax/syntax_trans.ML
changeset 52163 72e83c82c1d4
parent 52144 9065615d0360
child 52177 15fcad6eb956
equal deleted inserted replaced
52162:896ebb4646d8 52163:72e83c82c1d4
   119 (* abstraction *)
   119 (* abstraction *)
   120 
   120 
   121 fun idtyp_ast_tr [x, ty] = Ast.Appl [Ast.Constant "_constrain", x, ty]
   121 fun idtyp_ast_tr [x, ty] = Ast.Appl [Ast.Constant "_constrain", x, ty]
   122   | idtyp_ast_tr asts = raise Ast.AST ("idtyp_ast_tr", asts);
   122   | idtyp_ast_tr asts = raise Ast.AST ("idtyp_ast_tr", asts);
   123 
   123 
   124 fun idtypdummy_ast_tr [ty] = Ast.Appl [Ast.Constant "_constrain", Ast.Constant "_idtdummy", ty]
       
   125   | idtypdummy_ast_tr asts = raise Ast.AST ("idtyp_ast_tr", asts);
       
   126 
       
   127 fun lambda_ast_tr [pats, body] = Ast.fold_ast_p "_abs" (Ast.unfold_ast "_pttrns" pats, body)
   124 fun lambda_ast_tr [pats, body] = Ast.fold_ast_p "_abs" (Ast.unfold_ast "_pttrns" pats, body)
   128   | lambda_ast_tr asts = raise Ast.AST ("lambda_ast_tr", asts);
   125   | lambda_ast_tr asts = raise Ast.AST ("lambda_ast_tr", asts);
   129 
   126 
   130 fun absfree_proper (x, T) t =
   127 fun absfree_proper (x, T) t =
   131   if can Name.dest_internal x
   128   if can Name.dest_internal x
   511   ("_bracket", fn _ => bracket_ast_tr),
   508   ("_bracket", fn _ => bracket_ast_tr),
   512   ("_appl", fn _ => appl_ast_tr),
   509   ("_appl", fn _ => appl_ast_tr),
   513   ("_applC", fn _ => applC_ast_tr),
   510   ("_applC", fn _ => applC_ast_tr),
   514   ("_lambda", fn _ => lambda_ast_tr),
   511   ("_lambda", fn _ => lambda_ast_tr),
   515   ("_idtyp", fn _ => idtyp_ast_tr),
   512   ("_idtyp", fn _ => idtyp_ast_tr),
   516   ("_idtypdummy", fn _ => idtypdummy_ast_tr),
       
   517   ("_bigimpl", fn _ => bigimpl_ast_tr),
   513   ("_bigimpl", fn _ => bigimpl_ast_tr),
   518   ("_indexdefault", fn _ => indexdefault_ast_tr),
   514   ("_indexdefault", fn _ => indexdefault_ast_tr),
   519   ("_indexvar", fn _ => indexvar_ast_tr),
   515   ("_indexvar", fn _ => indexvar_ast_tr),
   520   ("_struct", fn _ => struct_ast_tr)];
   516   ("_struct", fn _ => struct_ast_tr)];
   521 
   517