<div dir="ltr">Dear <span style="font-size:13.333333969116211px;font-family:arial,sans-serif">Guillaume and </span><span style="font-size:13.333333969116211px;font-family:arial,sans-serif">Dmytro,</span><div><span style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">Thanks a lot for responses. </span><span style="font-family:arial,sans-serif;font-size:13.333333969116211px"> </span></div><div><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">First writing </span><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">type annotations, and then doing definition, fix the problem.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13.333333969116211px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">Regards,</span></div><div><span style="font-family:arial,sans-serif;font-size:13.333333969116211px">Thejaka Amila</span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 19, 2013 at 2:03 AM, Guillaume Brunerie <span dir="ltr">&lt;<a href="mailto:guillaume.brunerie@gmail.com" target="_blank">guillaume.brunerie@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Amila, for mutual inductive definitions, you should first write<br>
the typing annotations, and then the definitions.<br>
The following should work:<br>
<br>
<br>
data Format : Set<br>
⟦_⟧ : Format → Set<br>
<br>
data Format where<br>
<div class="im">    Bad : Format<br>
    End : Format<br>
    Base : U → Format<br>
    Plus : Format → Format → Format<br>
    Skip : Format → Format → Format<br>
    Read : (f : Format) → (⟦ f ⟧ → Format) → Format<br>
<br>
</div><div class="im">⟦ Bad ⟧ = Empty<br>
⟦ End ⟧ = Unit<br>
⟦ Base u ⟧ = el u<br>
⟦ Plus f1 f2 ⟧ = Either ⟦ f1 ⟧ ⟦ f2 ⟧<br>
⟦ Skip _ f ⟧ = ⟦ f ⟧<br>
⟦ Read f1 f2 ⟧ = Sigma ⟦ f1 ⟧ (λ x → ⟦ f2 x ⟧)<br>
<br>
<br>
</div>(and Dmytro is right that something was wrong in your indentation)<br>
<br>
Cheers,<br>
Guillaume<br>
<br>
2013/4/19 Dmytro Starosud &lt;<a href="mailto:d.starosud@gmail.com">d.starosud@gmail.com</a>&gt;:<br>
<div class="HOEnZb"><div class="h5">&gt; Hello Amila,<br>
&gt;<br>
&gt; Maybe the problem is caused by indentation?<br>
&gt; Please note definition and declaration must be at the same level.<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Dmytro<br>
&gt;<br>
&gt;<br>
&gt; 2013/4/19 Amila Jayasekara &lt;<a href="mailto:thejaka.amila@gmail.com">thejaka.amila@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi All,<br>
&gt;&gt;<br>
&gt;&gt; I am new to Agda. I am running through code samples in &quot;Power of Pi&quot; [2]<br>
&gt;&gt; paper.<br>
&gt;&gt;<br>
&gt;&gt; While trying to type check following piece of code I get error in [1].<br>
&gt;&gt;<br>
&gt;&gt; data Format : Set where<br>
&gt;&gt;     Bad : Format<br>
&gt;&gt;     End : Format<br>
&gt;&gt;     Base : U → Format<br>
&gt;&gt;     Plus : Format → Format → Format<br>
&gt;&gt;     Skip : Format → Format → Format<br>
&gt;&gt;     Read : (f : Format) → (⟦ f ⟧ → Format) → Format<br>
&gt;&gt;<br>
&gt;&gt; ⟦_⟧ : Format → Set<br>
&gt;&gt;   ⟦ Bad ⟧ = Empty<br>
&gt;&gt;   ⟦ End ⟧ = Unit<br>
&gt;&gt;   ⟦ Base u ⟧ = el u<br>
&gt;&gt;   ⟦ Plus f1 f2 ⟧ = Either ⟦ f1 ⟧ ⟦ f2 ⟧<br>
&gt;&gt;   ⟦ Skip _ f ⟧ = ⟦ f ⟧<br>
&gt;&gt;   ⟦ Read f1 f2 ⟧ = Sigma ⟦ f1 ⟧ (λ x → ⟦ f2 x ⟧)<br>
&gt;&gt;<br>
&gt;&gt; The error message is quite straight forward and says that &quot;⟦_⟧&quot; is not<br>
&gt;&gt; defined for Format&#39;s read operation. Does this mean that I cannot use and<br>
&gt;&gt; function before it is declared in the source file ?<br>
&gt;&gt;<br>
&gt;&gt; Feedback appreciated.<br>
&gt;&gt;<br>
&gt;&gt; Thanks<br>
&gt;&gt; Thejaka Amila<br>
&gt;&gt;<br>
&gt;&gt; [1]<br>
&gt;&gt; Not in scope:<br>
&gt;&gt;   ⟦<br>
&gt;&gt;   at /Users/thejaka/agda/ddl.agda:84,28-29<br>
&gt;&gt; when scope checking ⟦<br>
&gt;&gt;<br>
&gt;&gt; [2] <a href="http://dl.acm.org/citation.cfm?doid=1411203.1411213" target="_blank">http://dl.acm.org/citation.cfm?doid=1411203.1411213</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Agda mailing list<br>
&gt;&gt; <a href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a><br>
&gt;&gt; <a href="https://lists.chalmers.se/mailman/listinfo/agda" target="_blank">https://lists.chalmers.se/mailman/listinfo/agda</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Agda mailing list<br>
&gt; <a href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a><br>
&gt; <a href="https://lists.chalmers.se/mailman/listinfo/agda" target="_blank">https://lists.chalmers.se/mailman/listinfo/agda</a><br>
&gt;<br>
</div></div></blockquote></div><br></div>