# HG changeset patch # User wenzelm # Date 1729259138 -7200 # Node ID c66e24eae28175dedfa1d2c2042b47a1cd16b4dc # Parent 5036454794a53f53d0ba3544682c282088e80677 clarified inner-syntax markup; diff -r 5036454794a5 -r c66e24eae281 src/HOL/Library/Monad_Syntax.thy --- a/src/HOL/Library/Monad_Syntax.thy Fri Oct 18 15:42:31 2024 +0200 +++ b/src/HOL/Library/Monad_Syntax.thy Fri Oct 18 15:45:38 2024 +0200 @@ -34,17 +34,22 @@ nonterminal do_binds and do_bind syntax - "_do_block" :: "do_binds \ 'a" (\do {//(2 _)//}\ [12] 62) - "_do_bind" :: "[pttrn, 'a] \ do_bind" (\(2_ \/ _)\ 13) - "_do_let" :: "[pttrn, 'a] \ do_bind" (\(2let _ =/ _)\ [1000, 13] 13) - "_do_then" :: "'a \ do_bind" (\_\ [14] 13) - "_do_final" :: "'a \ do_binds" (\_\) - "_do_cons" :: "[do_bind, do_binds] \ do_binds" (\_;//_\ [13, 12] 12) - "_thenM" :: "['a, 'b] \ 'c" (infixl \\\ 54) + "_do_block" :: "do_binds \ 'a" + (\(\open_block notation=\mixfix do block\\do {//(2 _)//})\ [12] 62) + "_do_bind" :: "[pttrn, 'a] \ do_bind" + (\(\indent=2 notation=\infix do bind\\_ \/ _)\ 13) + "_do_let" :: "[pttrn, 'a] \ do_bind" + (\(\indent=2 notation=\infix do let\\let _ =/ _)\ [1000, 13] 13) + "_do_then" :: "'a \ do_bind" (\_\ [14] 13) + "_do_final" :: "'a \ do_binds" (\_\) + "_do_cons" :: "[do_bind, do_binds] \ do_binds" + (\(\open_block notation=\infix do next\\_;//_)\ [13, 12] 12) + "_thenM" :: "['a, 'b] \ 'c" (infixl \\\ 54) syntax (ASCII) - "_do_bind" :: "[pttrn, 'a] \ do_bind" (\(2_ <-/ _)\ 13) - "_thenM" :: "['a, 'b] \ 'c" (infixl \>>\ 54) + "_do_bind" :: "[pttrn, 'a] \ do_bind" + (\(\indent=2 notation=\infix do bind\\_ <-/ _)\ 13) + "_thenM" :: "['a, 'b] \ 'c" (infixl \>>\ 54) syntax_consts "_do_block" "_do_cons" "_do_bind" "_do_then" \ bind and diff -r 5036454794a5 -r c66e24eae281 src/HOL/Library/Open_State_Syntax.thy --- a/src/HOL/Library/Open_State_Syntax.thy Fri Oct 18 15:42:31 2024 +0200 +++ b/src/HOL/Library/Open_State_Syntax.thy Fri Oct 18 15:45:38 2024 +0200 @@ -119,22 +119,23 @@ nonterminal sdo_binds and sdo_bind -definition "sdo_syntax = ()" - syntax - "_sdo_block" :: "sdo_binds \ 'a" (\exec {//(2 _)//}\ [12] 62) - "_sdo_bind" :: "[pttrn, 'a] \ sdo_bind" (\(_ \/ _)\ 13) - "_sdo_let" :: "[pttrn, 'a] \ sdo_bind" (\(2let _ =/ _)\ [1000, 13] 13) - "_sdo_then" :: "'a \ sdo_bind" (\_\ [14] 13) - "_sdo_final" :: "'a \ sdo_binds" (\_\) - "_sdo_cons" :: "[sdo_bind, sdo_binds] \ sdo_binds" (\_;//_\ [13, 12] 12) + "_sdo_block" :: "sdo_binds \ 'a" + (\(\open_block notation=\mixfix exec block\\exec {//(2 _)//})\ [12] 62) + "_sdo_bind" :: "[pttrn, 'a] \ sdo_bind" + (\(\indent=2 notation=\infix exec bind\\_ \/ _)\ 13) + "_sdo_let" :: "[pttrn, 'a] \ sdo_bind" + (\(\indent=2 notation=\infix exec let\\let _ =/ _)\ [1000, 13] 13) + "_sdo_then" :: "'a \ sdo_bind" (\_\ [14] 13) + "_sdo_final" :: "'a \ sdo_binds" (\_\) + "_sdo_cons" :: "[sdo_bind, sdo_binds] \ sdo_binds" + (\(\open_block notation=\infix exec next\\_;//_)\ [13, 12] 12) syntax (ASCII) - "_sdo_bind" :: "[pttrn, 'a] \ sdo_bind" (\(_ <-/ _)\ 13) + "_sdo_bind" :: "[pttrn, 'a] \ sdo_bind" + (\(\indent=2 notation=\infix exec bind\\_ <-/ _)\ 13) syntax_consts - "_sdo_block" "_sdo_cons" == sdo_syntax and - "_sdo_bind" == scomp and "_sdo_let" == Let translations