úΰ_$      !"#Safe$Is Haskell whitespace character Examples:isHsWhitespace ' 'TrueisHsWhitespace '\r'TrueisHsWhitespace '0'TrueisHsWhitespace 'w'False$$$None      None"%&'()*+"""%&'()*+None#operate do notationSyntax:   lexp ::=  operator ar {  opcmds } (opdo expression)  ar ::= ->  operator ::=  identity | (  identity& ) (for section)  opcmds ::=  opcmd_1 ...  opcmd_n  exp [;] (n >= 0)  opcmd ::=  expH ; | ; (empty statement)  Sematics:  [opdo| _ -> { e } |] = e InfixL Operator: ? [opdo| op -> { stmts e } |] = op [opdo| op -> { stmts } |] e InfixR Operator: @ [opdo| op -> { e; stmts } |] = op e [opdo| op -> { stmts } |]  Examples:%[opdo| (.) -> { head; show; id } |] 1'1'#[opdo| . -> { head; show; id } |] 1'1'0[opdo| <*> -> { pure const; Just 1; Nothing } |]Nothing:{[opdo| const -> { "str"; 1}|]:}"str":{"show: " ++ [opdo| (.) -> \x -> tail x show|] 10:} "show: 0"#,###,-        !"#$%&'()*+,-./'operate-do-0.1.0-5MtMRGquIjtEnIx8Gqkk8DControl.Operate.TypesControl.Operate.InternalControl.OperateLanguage.Haskell.TH.ExtraOperatorDirection LeftOperator RightOperatorOpdoStmtOpdoExpS OperateDoExp opdoOperatoropdoStatementsOpdoStatements getOpCmdsgetOpCmdLastOneOpdoOperatorInfogetOperatorDirectiongetOperatorExpressionrunOpdo$fShowOpdoStmt $fOrdOpdoStmt $fEqOpdoStmt$fEqOpdoStatements$fOrdOpdoStatements$fShowOpdoStatements$fEqOperatorDirection$fOrdOperatorDirection$fShowOperatorDirection$fEnumOperatorDirection$fEqOpdoOperatorInfo$fOrdOpdoOperatorInfo$fShowOpdoOperatorInfo$fEqOperateDoExp$fOrdOperateDoExp$fShowOperateDoExpparseOperateDoExpopdoisHsWhitespaceformatOperatorExpparseOperatorExpparseOperatorPrefix rmArrowPrefix formatDoStmtsformatOpdoStmtsparseOpdoStmtsopdoExpQ