src/HOL/HOLCF/Tools/Domain/domain_constructors.ML
changeset 42264 b6c1b0c4c511
parent 42224 578a51fae383
child 42290 b1f544c84040
equal deleted inserted replaced
42263:49b1b8d0782f 42264:b6c1b0c4c511
   454       val capp = app @{const_syntax Rep_cfun}
   454       val capp = app @{const_syntax Rep_cfun}
   455       val capps = Library.foldl capp
   455       val capps = Library.foldl capp
   456       fun con1 authentic n (con,args) =
   456       fun con1 authentic n (con,args) =
   457           Library.foldl capp (c_ast authentic con, argvars n args)
   457           Library.foldl capp (c_ast authentic con, argvars n args)
   458       fun case1 authentic (n, c) =
   458       fun case1 authentic (n, c) =
   459           app "_case1" (Syntax.strip_positions_ast (con1 authentic n c), expvar n)
   459           app "_case1" (Ast.strip_positions (con1 authentic n c), expvar n)
   460       fun arg1 (n, (con,args)) = List.foldr cabs (expvar n) (argvars n args)
   460       fun arg1 (n, (con,args)) = List.foldr cabs (expvar n) (argvars n args)
   461       fun when1 n (m, c) = if n = m then arg1 (n, c) else Ast.Constant @{const_syntax bottom}
   461       fun when1 n (m, c) = if n = m then arg1 (n, c) else Ast.Constant @{const_syntax bottom}
   462       val case_constant = Ast.Constant (syntax (case_const dummyT))
   462       val case_constant = Ast.Constant (syntax (case_const dummyT))
   463       fun case_trans authentic =
   463       fun case_trans authentic =
   464         (if authentic then Syntax.Parse_Print_Rule else Syntax.Parse_Rule)
   464         (if authentic then Syntax.Parse_Print_Rule else Syntax.Parse_Rule)