let pr_short_red_flag pr r = ifnot r.rBeta || not r.rMatch || not r.rFix || not r.rCofix || not r.rZeta then raise ComplexRedFlag elseifList.is_empty r.rConst then if r.rDelta then mt () elseraise ComplexRedFlag else (if r.rDelta then str "-"else mt ()) ++
hov 0 (str "[" ++ prlist_with_sep spc pr r.rConst ++ str "]")
let pr_red_flag pr r = try pr_short_red_flag pr r with ComplexRedFlag ->
(if r.rBeta then pr_arg str "beta"else mt ()) ++
(if r.rMatch && r.rFix && r.rCofix then pr_arg str "iota"else
(if r.rMatch then pr_arg str "match"else mt ()) ++
(if r.rFix then pr_arg str "fix"else mt ()) ++
(if r.rCofix then pr_arg str "cofix"else mt ())) ++
(if r.rZeta then pr_arg str "zeta"else mt ()) ++
(ifList.is_empty r.rConst then if r.rDelta then pr_arg str "delta" else mt () else
pr_arg str "delta " ++ (if r.rDelta then str "-"else mt ()) ++
hov 0 (str "[" ++ prlist_with_sep spc pr r.rConst ++ str "]"))
let pr_union pr1 pr2 = function
| Inl a -> pr1 a
| Inr b -> pr2 b
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.