mirror of
https://git8.cs.fau.de/theses/bsc-leon-vatthauer.git
synced 2024-05-31 07:28:34 +02:00
81 lines
30 KiB
HTML
81 lines
30 KiB
HTML
|
<!DOCTYPE HTML>
|
|||
|
<html><head><meta charset="utf-8"><title>Category.Monad.Indexed</title><link rel="stylesheet" href="Agda.css"></head><body><pre class="Agda"><a id="1" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
<a id="74" class="Comment">-- The Agda standard library</a>
|
|||
|
<a id="103" class="Comment">--</a>
|
|||
|
<a id="106" class="Comment">-- Indexed monads</a>
|
|||
|
<a id="124" class="Comment">------------------------------------------------------------------------</a>
|
|||
|
|
|||
|
<a id="198" class="Comment">-- Note that currently the monad laws are not included here.</a>
|
|||
|
|
|||
|
<a id="260" class="Symbol">{-#</a> <a id="264" class="Keyword">OPTIONS</a> <a id="272" class="Pragma">--cubical-compatible</a> <a id="293" class="Pragma">--safe</a> <a id="300" class="Symbol">#-}</a>
|
|||
|
|
|||
|
<a id="305" class="Keyword">module</a> <a id="312" href="Category.Monad.Indexed.html" class="Module">Category.Monad.Indexed</a> <a id="335" class="Keyword">where</a>
|
|||
|
|
|||
|
<a id="342" class="Keyword">open</a> <a id="347" class="Keyword">import</a> <a id="354" href="Category.Applicative.Indexed.html" class="Module">Category.Applicative.Indexed</a>
|
|||
|
<a id="383" class="Keyword">open</a> <a id="388" class="Keyword">import</a> <a id="395" href="Function.html" class="Module">Function</a>
|
|||
|
<a id="404" class="Keyword">open</a> <a id="409" class="Keyword">import</a> <a id="416" href="Level.html" class="Module">Level</a>
|
|||
|
|
|||
|
<a id="423" class="Keyword">private</a>
|
|||
|
<a id="433" class="Keyword">variable</a>
|
|||
|
<a id="446" href="Category.Monad.Indexed.html#446" class="Generalizable">a</a> <a id="448" href="Category.Monad.Indexed.html#448" class="Generalizable">b</a> <a id="450" href="Category.Monad.Indexed.html#450" class="Generalizable">c</a> <a id="452" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a> <a id="454" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a> <a id="456" class="Symbol">:</a> <a id="458" href="Agda.Primitive.html#591" class="Postulate">Level</a>
|
|||
|
<a id="468" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="470" class="Symbol">:</a> <a id="472" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="476" href="Category.Monad.Indexed.html#446" class="Generalizable">a</a>
|
|||
|
<a id="482" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a> <a id="484" class="Symbol">:</a> <a id="486" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="490" href="Category.Monad.Indexed.html#448" class="Generalizable">b</a>
|
|||
|
<a id="496" href="Category.Monad.Indexed.html#496" class="Generalizable">C</a> <a id="498" class="Symbol">:</a> <a id="500" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="504" href="Category.Monad.Indexed.html#450" class="Generalizable">c</a>
|
|||
|
<a id="510" href="Category.Monad.Indexed.html#510" class="Generalizable">I</a> <a id="512" class="Symbol">:</a> <a id="514" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="518" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a>
|
|||
|
|
|||
|
<a id="521" class="Keyword">record</a> <a id="RawIMonad"></a><a id="528" href="Category.Monad.Indexed.html#528" class="Record">RawIMonad</a> <a id="538" class="Symbol">{</a><a id="539" href="Category.Monad.Indexed.html#539" class="Bound">I</a> <a id="541" class="Symbol">:</a> <a id="543" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="547" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a><a id="548" class="Symbol">}</a> <a id="550" class="Symbol">(</a><a id="551" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="553" class="Symbol">:</a> <a id="555" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="560" href="Category.Monad.Indexed.html#539" class="Bound">I</a> <a id="562" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a><a id="563" class="Symbol">)</a> <a id="565" class="Symbol">:</a> <a id="567" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="571" class="Symbol">(</a><a id="572" href="Category.Monad.Indexed.html#547" class="Bound">i</a> <a id="574" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="576" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="580" href="Category.Monad.Indexed.html#562" class="Bound">f</a><a id="581" class="Symbol">)</a> <a id="583" class="Keyword">where</a>
|
|||
|
<a id="591" class="Keyword">infixl</a> <a id="598" class="Number">1</a> <a id="600" href="Category.Monad.Indexed.html#686" class="Field Operator">_>>=_</a> <a id="606" href="Category.Monad.Indexed.html#744" class="Function Operator">_>>_</a> <a id="611" href="Category.Monad.Indexed.html#900" class="Function Operator">_>=>_</a>
|
|||
|
<a id="619" class="Keyword">infixr</a> <a id="626" class="Number">1</a> <a id="628" href="Category.Monad.Indexed.html#823" class="Function Operator">_=<<_</a> <a id="634" href="Category.Monad.Indexed.html#993" class="Function Operator">_<=<_</a>
|
|||
|
|
|||
|
<a id="643" class="Keyword">field</a>
|
|||
|
<a id="RawIMonad.return"></a><a id="653" href="Category.Monad.Indexed.html#653" class="Field">return</a> <a id="660" class="Symbol">:</a> <a id="662" class="Symbol">∀</a> <a id="664" class="Symbol">{</a><a id="665" href="Category.Monad.Indexed.html#665" class="Bound">i</a><a id="666" class="Symbol">}</a> <a id="668" class="Symbol">→</a> <a id="670" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="672" class="Symbol">→</a> <a id="674" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="676" href="Category.Monad.Indexed.html#665" class="Bound">i</a> <a id="678" href="Category.Monad.Indexed.html#665" class="Bound">i</a> <a id="680" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a>
|
|||
|
<a id="RawIMonad._>>=_"></a><a id="686" href="Category.Monad.Indexed.html#686" class="Field Operator">_>>=_</a> <a id="693" class="Symbol">:</a> <a id="695" class="Symbol">∀</a> <a id="697" class="Symbol">{</a><a id="698" href="Category.Monad.Indexed.html#698" class="Bound">i</a> <a id="700" href="Category.Monad.Indexed.html#700" class="Bound">j</a> <a id="702" href="Category.Monad.Indexed.html#702" class="Bound">k</a><a id="703" class="Symbol">}</a> <a id="705" class="Symbol">→</a> <a id="707" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="709" href="Category.Monad.Indexed.html#698" class="Bound">i</a> <a id="711" href="Category.Monad.Indexed.html#700" class="Bound">j</a> <a id="713" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="715" class="Symbol">→</a> <a id="717" class="Symbol">(</a><a id="718" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="720" class="Symbol">→</a> <a id="722" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="724" href="Category.Monad.Indexed.html#700" class="Bound">j</a> <a id="726" href="Category.Monad.Indexed.html#702" class="Bound">k</a> <a id="728" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a><a id="729" class="Symbol">)</a> <a id="731" class="Symbol">→</a> <a id="733" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="735" href="Category.Monad.Indexed.html#698" class="Bound">i</a> <a id="737" href="Category.Monad.Indexed.html#702" class="Bound">k</a> <a id="739" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a>
|
|||
|
|
|||
|
<a id="RawIMonad._>>_"></a><a id="744" href="Category.Monad.Indexed.html#744" class="Function Operator">_>>_</a> <a id="749" class="Symbol">:</a> <a id="751" class="Symbol">∀</a> <a id="753" class="Symbol">{</a><a id="754" href="Category.Monad.Indexed.html#754" class="Bound">i</a> <a id="756" href="Category.Monad.Indexed.html#756" class="Bound">j</a> <a id="758" href="Category.Monad.Indexed.html#758" class="Bound">k</a><a id="759" class="Symbol">}</a> <a id="761" class="Symbol">→</a> <a id="763" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="765" href="Category.Monad.Indexed.html#754" class="Bound">i</a> <a id="767" href="Category.Monad.Indexed.html#756" class="Bound">j</a> <a id="769" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="771" class="Symbol">→</a> <a id="773" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="775" href="Category.Monad.Indexed.html#756" class="Bound">j</a> <a id="777" href="Category.Monad.Indexed.html#758" class="Bound">k</a> <a id="779" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a> <a id="781" class="Symbol">→</a> <a id="783" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="785" href="Category.Monad.Indexed.html#754" class="Bound">i</a> <a id="787" href="Category.Monad.Indexed.html#758" class="Bound">k</a> <a id="789" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a>
|
|||
|
<a id="793" href="Category.Monad.Indexed.html#793" class="Bound">m₁</a> <a id="796" href="Category.Monad.Indexed.html#744" class="Function Operator">>></a> <a id="799" href="Category.Monad.Indexed.html#799" class="Bound">m₂</a> <a id="802" class="Symbol">=</a> <a id="804" href="Category.Monad.Indexed.html#793" class="Bound">m₁</a> <a id="807" href="Category.Monad.Indexed.html#686" class="Field Operator">>>=</a> <a id="811" class="Symbol">λ</a> <a id="813" href="Category.Monad.Indexed.html#813" class="Bound">_</a> <a id="815" class="Symbol">→</a> <a id="817" href="Category.Monad.Indexed.html#799" class="Bound">m₂</a>
|
|||
|
|
|||
|
<a id="RawIMonad._=<<_"></a><a id="823" href="Category.Monad.Indexed.html#823" class="Function Operator">_=<<_</a> <a id="829" class="Symbol">:</a> <a id="831" class="Symbol">∀</a> <a id="833" class="Symbol">{</a><a id="834" href="Category.Monad.Indexed.html#834" class="Bound">i</a> <a id="836" href="Category.Monad.Indexed.html#836" class="Bound">j</a> <a id="838" href="Category.Monad.Indexed.html#838" class="Bound">k</a><a id="839" class="Symbol">}</a> <a id="841" class="Symbol">→</a> <a id="843" class="Symbol">(</a><a id="844" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="846" class="Symbol">→</a> <a id="848" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="850" href="Category.Monad.Indexed.html#836" class="Bound">j</a> <a id="852" href="Category.Monad.Indexed.html#838" class="Bound">k</a> <a id="854" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a><a id="855" class="Symbol">)</a> <a id="857" class="Symbol">→</a> <a id="859" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="861" href="Category.Monad.Indexed.html#834" class="Bound">i</a> <a id="863" href="Category.Monad.Indexed.html#836" class="Bound">j</a> <a id="865" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="867" class="Symbol">→</a> <a id="869" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="871" href="Category.Monad.Indexed.html#834" class="Bound">i</a> <a id="873" href="Category.Monad.Indexed.html#838" class="Bound">k</a> <a id="875" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a>
|
|||
|
<a id="879" href="Category.Monad.Indexed.html#879" class="Bound">f</a> <a id="881" href="Category.Monad.Indexed.html#823" class="Function Operator">=<<</a> <a id="885" href="Category.Monad.Indexed.html#885" class="Bound">c</a> <a id="887" class="Symbol">=</a> <a id="889" href="Category.Monad.Indexed.html#885" class="Bound">c</a> <a id="891" href="Category.Monad.Indexed.html#686" class="Field Operator">>>=</a> <a id="895" href="Category.Monad.Indexed.html#879" class="Bound">f</a>
|
|||
|
|
|||
|
<a id="RawIMonad._>=>_"></a><a id="900" href="Category.Monad.Indexed.html#900" class="Function Operator">_>=>_</a> <a id="906" class="Symbol">:</a> <a id="908" class="Symbol">∀</a> <a id="910" class="Symbol">{</a><a id="911" href="Category.Monad.Indexed.html#911" class="Bound">i</a> <a id="913" href="Category.Monad.Indexed.html#913" class="Bound">j</a> <a id="915" href="Category.Monad.Indexed.html#915" class="Bound">k</a><a id="916" class="Symbol">}</a> <a id="918" class="Symbol">→</a> <a id="920" class="Symbol">(</a><a id="921" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="923" class="Symbol">→</a> <a id="925" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="927" href="Category.Monad.Indexed.html#911" class="Bound">i</a> <a id="929" href="Category.Monad.Indexed.html#913" class="Bound">j</a> <a id="931" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a><a id="932" class="Symbol">)</a> <a id="934" class="Symbol">→</a> <a id="936" class="Symbol">(</a><a id="937" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a> <a id="939" class="Symbol">→</a> <a id="941" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="943" href="Category.Monad.Indexed.html#913" class="Bound">j</a> <a id="945" href="Category.Monad.Indexed.html#915" class="Bound">k</a> <a id="947" href="Category.Monad.Indexed.html#496" class="Generalizable">C</a><a id="948" class="Symbol">)</a> <a id="950" class="Symbol">→</a> <a id="952" class="Symbol">(</a><a id="953" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="955" class="Symbol">→</a> <a id="957" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="959" href="Category.Monad.Indexed.html#911" class="Bound">i</a> <a id="961" href="Category.Monad.Indexed.html#915" class="Bound">k</a> <a id="963" href="Category.Monad.Indexed.html#496" class="Generalizable">C</a><a id="964" class="Symbol">)</a>
|
|||
|
<a id="968" href="Category.Monad.Indexed.html#968" class="Bound">f</a> <a id="970" href="Category.Monad.Indexed.html#900" class="Function Operator">>=></a> <a id="974" href="Category.Monad.Indexed.html#974" class="Bound">g</a> <a id="976" class="Symbol">=</a> <a id="978" href="Category.Monad.Indexed.html#823" class="Function Operator">_=<<_</a> <a id="984" href="Category.Monad.Indexed.html#974" class="Bound">g</a> <a id="986" href="Function.Base.html#1040" class="Function Operator">∘</a> <a id="988" href="Category.Monad.Indexed.html#968" class="Bound">f</a>
|
|||
|
|
|||
|
<a id="RawIMonad._<=<_"></a><a id="993" href="Category.Monad.Indexed.html#993" class="Function Operator">_<=<_</a> <a id="999" class="Symbol">:</a> <a id="1001" class="Symbol">∀</a> <a id="1003" class="Symbol">{</a><a id="1004" href="Category.Monad.Indexed.html#1004" class="Bound">i</a> <a id="1006" href="Category.Monad.Indexed.html#1006" class="Bound">j</a> <a id="1008" href="Category.Monad.Indexed.html#1008" class="Bound">k</a><a id="1009" class="Symbol">}</a> <a id="1011" class="Symbol">→</a> <a id="1013" class="Symbol">(</a><a id="1014" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a> <a id="1016" class="Symbol">→</a> <a id="1018" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="1020" href="Category.Monad.Indexed.html#1006" class="Bound">j</a> <a id="1022" href="Category.Monad.Indexed.html#1008" class="Bound">k</a> <a id="1024" href="Category.Monad.Indexed.html#496" class="Generalizable">C</a><a id="1025" class="Symbol">)</a> <a id="1027" class="Symbol">→</a> <a id="1029" class="Symbol">(</a><a id="1030" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="1032" class="Symbol">→</a> <a id="1034" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="1036" href="Category.Monad.Indexed.html#1004" class="Bound">i</a> <a id="1038" href="Category.Monad.Indexed.html#1006" class="Bound">j</a> <a id="1040" href="Category.Monad.Indexed.html#482" class="Generalizable">B</a><a id="1041" class="Symbol">)</a> <a id="1043" class="Symbol">→</a> <a id="1045" class="Symbol">(</a><a id="1046" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a> <a id="1048" class="Symbol">→</a> <a id="1050" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="1052" href="Category.Monad.Indexed.html#1004" class="Bound">i</a> <a id="1054" href="Category.Monad.Indexed.html#1008" class="Bound">k</a> <a id="1056" href="Category.Monad.Indexed.html#496" class="Generalizable">C</a><a id="1057" class="Symbol">)</a>
|
|||
|
<a id="1061" href="Category.Monad.Indexed.html#1061" class="Bound">g</a> <a id="1063" href="Category.Monad.Indexed.html#993" class="Function Operator"><=<</a> <a id="1067" href="Category.Monad.Indexed.html#1067" class="Bound">f</a> <a id="1069" class="Symbol">=</a> <a id="1071" href="Category.Monad.Indexed.html#1067" class="Bound">f</a> <a id="1073" href="Category.Monad.Indexed.html#900" class="Function Operator">>=></a> <a id="1077" href="Category.Monad.Indexed.html#1061" class="Bound">g</a>
|
|||
|
|
|||
|
<a id="RawIMonad.join"></a><a id="1082" href="Category.Monad.Indexed.html#1082" class="Function">join</a> <a id="1087" class="Symbol">:</a> <a id="1089" class="Symbol">∀</a> <a id="1091" class="Symbol">{</a><a id="1092" href="Category.Monad.Indexed.html#1092" class="Bound">i</a> <a id="1094" href="Category.Monad.Indexed.html#1094" class="Bound">j</a> <a id="1096" href="Category.Monad.Indexed.html#1096" class="Bound">k</a><a id="1097" class="Symbol">}</a> <a id="1099" class="Symbol">→</a> <a id="1101" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="1103" href="Category.Monad.Indexed.html#1092" class="Bound">i</a> <a id="1105" href="Category.Monad.Indexed.html#1094" class="Bound">j</a> <a id="1107" class="Symbol">(</a><a id="1108" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="1110" href="Category.Monad.Indexed.html#1094" class="Bound">j</a> <a id="1112" href="Category.Monad.Indexed.html#1096" class="Bound">k</a> <a id="1114" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a><a id="1115" class="Symbol">)</a> <a id="1117" class="Symbol">→</a> <a id="1119" href="Category.Monad.Indexed.html#551" class="Bound">M</a> <a id="1121" href="Category.Monad.Indexed.html#1092" class="Bound">i</a> <a id="1123" href="Category.Monad.Indexed.html#1096" class="Bound">k</a> <a id="1125" href="Category.Monad.Indexed.html#468" class="Generalizable">A</a>
|
|||
|
<a id="1129" href="Category.Monad.Indexed.html#1082" class="Function">join</a> <a id="1134" href="Category.Monad.Indexed.html#1134" class="Bound">m</a> <a id="1136" class="Symbol">=</a> <a id="1138" href="Category.Monad.Indexed.html#1134" class="Bound">m</a> <a id="1140" href="Category.Monad.Indexed.html#686" class="Field Operator">>>=</a> <a id="1144" href="Function.Base.html#624" class="Function">id</a>
|
|||
|
|
|||
|
<a id="RawIMonad.rawIApplicative"></a><a id="1150" href="Category.Monad.Indexed.html#1150" class="Function">rawIApplicative</a> <a id="1166" class="Symbol">:</a> <a id="1168" href="Category.Applicative.Indexed.html#869" class="Record">RawIApplicative</a> <a id="1184" href="Category.Monad.Indexed.html#551" class="Bound">M</a>
|
|||
|
<a id="1188" href="Category.Monad.Indexed.html#1150" class="Function">rawIApplicative</a> <a id="1204" class="Symbol">=</a> <a id="1206" class="Keyword">record</a>
|
|||
|
<a id="1217" class="Symbol">{</a> <a id="1219" href="Category.Applicative.Indexed.html#1012" class="Field">pure</a> <a id="1224" class="Symbol">=</a> <a id="1226" href="Category.Monad.Indexed.html#653" class="Field">return</a>
|
|||
|
<a id="1237" class="Symbol">;</a> <a id="1239" href="Category.Applicative.Indexed.html#1043" class="Field Operator">_⊛_</a> <a id="1244" class="Symbol">=</a> <a id="1246" class="Symbol">λ</a> <a id="1248" href="Category.Monad.Indexed.html#1248" class="Bound">f</a> <a id="1250" href="Category.Monad.Indexed.html#1250" class="Bound">x</a> <a id="1252" class="Symbol">→</a> <a id="1254" href="Category.Monad.Indexed.html#1248" class="Bound">f</a> <a id="1256" href="Category.Monad.Indexed.html#686" class="Field Operator">>>=</a> <a id="1260" class="Symbol">λ</a> <a id="1262" href="Category.Monad.Indexed.html#1262" class="Bound">f′</a> <a id="1265" class="Symbol">→</a> <a id="1267" href="Category.Monad.Indexed.html#1250" class="Bound">x</a> <a id="1269" href="Category.Monad.Indexed.html#686" class="Field Operator">>>=</a> <a id="1273" class="Symbol">λ</a> <a id="1275" href="Category.Monad.Indexed.html#1275" class="Bound">x′</a> <a id="1278" class="Symbol">→</a> <a id="1280" href="Category.Monad.Indexed.html#653" class="Field">return</a> <a id="1287" class="Symbol">(</a><a id="1288" href="Category.Monad.Indexed.html#1262" class="Bound">f′</a> <a id="1291" href="Category.Monad.Indexed.html#1275" class="Bound">x′</a><a id="1293" class="Symbol">)</a>
|
|||
|
<a id="1299" class="Symbol">}</a>
|
|||
|
|
|||
|
<a id="1304" class="Keyword">open</a> <a id="1309" href="Category.Applicative.Indexed.html#869" class="Module">RawIApplicative</a> <a id="1325" href="Category.Monad.Indexed.html#1150" class="Function">rawIApplicative</a> <a id="1341" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="RawIMonadT"></a><a id="1349" href="Category.Monad.Indexed.html#1349" class="Function">RawIMonadT</a> <a id="1360" class="Symbol">:</a> <a id="1362" class="Symbol">{</a><a id="1363" href="Category.Monad.Indexed.html#1363" class="Bound">I</a> <a id="1365" class="Symbol">:</a> <a id="1367" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1371" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a><a id="1372" class="Symbol">}</a> <a id="1374" class="Symbol">(</a><a id="1375" href="Category.Monad.Indexed.html#1375" class="Bound">T</a> <a id="1377" class="Symbol">:</a> <a id="1379" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="1384" href="Category.Monad.Indexed.html#1363" class="Bound">I</a> <a id="1386" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a> <a id="1388" class="Symbol">→</a> <a id="1390" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="1395" href="Category.Monad.Indexed.html#1363" class="Bound">I</a> <a id="1397" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a><a id="1398" class="Symbol">)</a> <a id="1400" class="Symbol">→</a> <a id="1402" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1406" class="Symbol">(</a><a id="1407" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a> <a id="1409" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1411" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1415" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a><a id="1416" class="Symbol">)</a>
|
|||
|
<a id="1418" href="Category.Monad.Indexed.html#1349" class="Function">RawIMonadT</a> <a id="1429" href="Category.Monad.Indexed.html#1429" class="Bound">T</a> <a id="1431" class="Symbol">=</a> <a id="1433" class="Symbol">∀</a> <a id="1435" class="Symbol">{</a><a id="1436" href="Category.Monad.Indexed.html#1436" class="Bound">M</a><a id="1437" class="Symbol">}</a> <a id="1439" class="Symbol">→</a> <a id="1441" href="Category.Monad.Indexed.html#528" class="Record">RawIMonad</a> <a id="1451" href="Category.Monad.Indexed.html#1436" class="Bound">M</a> <a id="1453" class="Symbol">→</a> <a id="1455" href="Category.Monad.Indexed.html#528" class="Record">RawIMonad</a> <a id="1465" class="Symbol">(</a><a id="1466" href="Category.Monad.Indexed.html#1429" class="Bound">T</a> <a id="1468" href="Category.Monad.Indexed.html#1436" class="Bound">M</a><a id="1469" class="Symbol">)</a>
|
|||
|
|
|||
|
<a id="1472" class="Keyword">record</a> <a id="RawIMonadZero"></a><a id="1479" href="Category.Monad.Indexed.html#1479" class="Record">RawIMonadZero</a> <a id="1493" class="Symbol">{</a><a id="1494" href="Category.Monad.Indexed.html#1494" class="Bound">I</a> <a id="1496" class="Symbol">:</a> <a id="1498" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1502" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a><a id="1503" class="Symbol">}</a> <a id="1505" class="Symbol">(</a><a id="1506" href="Category.Monad.Indexed.html#1506" class="Bound">M</a> <a id="1508" class="Symbol">:</a> <a id="1510" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="1515" href="Category.Monad.Indexed.html#1494" class="Bound">I</a> <a id="1517" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a><a id="1518" class="Symbol">)</a> <a id="1520" class="Symbol">:</a> <a id="1522" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1526" class="Symbol">(</a><a id="1527" href="Category.Monad.Indexed.html#1502" class="Bound">i</a> <a id="1529" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1531" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1535" href="Category.Monad.Indexed.html#1517" class="Bound">f</a><a id="1536" class="Symbol">)</a> <a id="1538" class="Keyword">where</a>
|
|||
|
<a id="1546" class="Keyword">field</a>
|
|||
|
<a id="RawIMonadZero.monad"></a><a id="1556" href="Category.Monad.Indexed.html#1556" class="Field">monad</a> <a id="1572" class="Symbol">:</a> <a id="1574" href="Category.Monad.Indexed.html#528" class="Record">RawIMonad</a> <a id="1584" href="Category.Monad.Indexed.html#1506" class="Bound">M</a>
|
|||
|
<a id="RawIMonadZero.applicativeZero"></a><a id="1590" href="Category.Monad.Indexed.html#1590" class="Field">applicativeZero</a> <a id="1606" class="Symbol">:</a> <a id="1608" href="Category.Applicative.Indexed.html#1830" class="Record">RawIApplicativeZero</a> <a id="1628" href="Category.Monad.Indexed.html#1506" class="Bound">M</a>
|
|||
|
|
|||
|
<a id="1633" class="Keyword">open</a> <a id="1638" href="Category.Monad.Indexed.html#528" class="Module">RawIMonad</a> <a id="1648" href="Category.Monad.Indexed.html#1556" class="Field">monad</a> <a id="1654" class="Keyword">public</a>
|
|||
|
<a id="1663" class="Keyword">open</a> <a id="1668" href="Category.Applicative.Indexed.html#1830" class="Module">RawIApplicativeZero</a> <a id="1688" href="Category.Monad.Indexed.html#1590" class="Field">applicativeZero</a> <a id="1704" class="Keyword">using</a> <a id="1710" class="Symbol">(</a><a id="1711" href="Category.Applicative.Indexed.html#1963" class="Field">∅</a><a id="1712" class="Symbol">)</a> <a id="1714" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="1722" class="Keyword">record</a> <a id="RawIMonadPlus"></a><a id="1729" href="Category.Monad.Indexed.html#1729" class="Record">RawIMonadPlus</a> <a id="1743" class="Symbol">{</a><a id="1744" href="Category.Monad.Indexed.html#1744" class="Bound">I</a> <a id="1746" class="Symbol">:</a> <a id="1748" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1752" href="Category.Monad.Indexed.html#452" class="Generalizable">i</a><a id="1753" class="Symbol">}</a> <a id="1755" class="Symbol">(</a><a id="1756" href="Category.Monad.Indexed.html#1756" class="Bound">M</a> <a id="1758" class="Symbol">:</a> <a id="1760" href="Category.Applicative.Indexed.html#678" class="Function">IFun</a> <a id="1765" href="Category.Monad.Indexed.html#1744" class="Bound">I</a> <a id="1767" href="Category.Monad.Indexed.html#454" class="Generalizable">f</a><a id="1768" class="Symbol">)</a> <a id="1770" class="Symbol">:</a> <a id="1772" href="Agda.Primitive.html#320" class="Primitive">Set</a> <a id="1776" class="Symbol">(</a><a id="1777" href="Category.Monad.Indexed.html#1752" class="Bound">i</a> <a id="1779" href="Agda.Primitive.html#804" class="Primitive Operator">⊔</a> <a id="1781" href="Agda.Primitive.html#774" class="Primitive">suc</a> <a id="1785" href="Category.Monad.Indexed.html#1767" class="Bound">f</a><a id="1786" class="Symbol">)</a> <a id="1788" class="Keyword">where</a>
|
|||
|
<a id="1796" class="Keyword">field</a>
|
|||
|
<a id="RawIMonadPlus.monad"></a><a id="1806" href="Category.Monad.Indexed.html#1806" class="Field">monad</a> <a id="1818" class="Symbol">:</a> <a id="1820" href="Category.Monad.Indexed.html#528" class="Record">RawIMonad</a> <a id="1830" href="Category.Monad.Indexed.html#1756" class="Bound">M</a>
|
|||
|
<a id="RawIMonadPlus.alternative"></a><a id="1836" href="Category.Monad.Indexed.html#1836" class="Field">alternative</a> <a id="1848" class="Symbol">:</a> <a id="1850" href="Category.Applicative.Indexed.html#2167" class="Record">RawIAlternative</a> <a id="1866" href="Category.Monad.Indexed.html#1756" class="Bound">M</a>
|
|||
|
|
|||
|
<a id="1871" class="Keyword">open</a> <a id="1876" href="Category.Monad.Indexed.html#528" class="Module">RawIMonad</a> <a id="1886" href="Category.Monad.Indexed.html#1806" class="Field">monad</a> <a id="1892" class="Keyword">public</a>
|
|||
|
<a id="1901" class="Keyword">open</a> <a id="1906" href="Category.Applicative.Indexed.html#2167" class="Module">RawIAlternative</a> <a id="1922" href="Category.Monad.Indexed.html#1836" class="Field">alternative</a> <a id="1934" class="Keyword">using</a> <a id="1940" class="Symbol">(</a><a id="1941" href="Category.Applicative.Indexed.html#1963" class="Function">∅</a><a id="1942" class="Symbol">;</a> <a id="1944" href="Category.Applicative.Indexed.html#2319" class="Field Operator">_∣_</a><a id="1947" class="Symbol">)</a> <a id="1949" class="Keyword">public</a>
|
|||
|
|
|||
|
<a id="RawIMonadPlus.monadZero"></a><a id="1959" href="Category.Monad.Indexed.html#1959" class="Function">monadZero</a> <a id="1969" class="Symbol">:</a> <a id="1971" href="Category.Monad.Indexed.html#1479" class="Record">RawIMonadZero</a> <a id="1985" href="Category.Monad.Indexed.html#1756" class="Bound">M</a>
|
|||
|
<a id="1989" href="Category.Monad.Indexed.html#1959" class="Function">monadZero</a> <a id="1999" class="Symbol">=</a> <a id="2001" class="Keyword">record</a>
|
|||
|
<a id="2012" class="Symbol">{</a> <a id="2014" href="Category.Monad.Indexed.html#1556" class="Field">monad</a> <a id="2030" class="Symbol">=</a> <a id="2032" href="Category.Monad.Indexed.html#1806" class="Field">monad</a>
|
|||
|
<a id="2042" class="Symbol">;</a> <a id="2044" href="Category.Monad.Indexed.html#1590" class="Field">applicativeZero</a> <a id="2060" class="Symbol">=</a> <a id="2062" href="Category.Applicative.Indexed.html#2275" class="Field">RawIAlternative.applicativeZero</a> <a id="2094" href="Category.Monad.Indexed.html#1836" class="Field">alternative</a>
|
|||
|
<a id="2110" class="Symbol">}</a>
|
|||
|
</pre></body></html>
|