<div>Hello,</div>
<div> </div>
<div>I&#39;m new at haskell and I have the following question:</div>
<div> </div>
<div>let&#39;s say I type the following:</div>
<div> </div>
<div>function = foldr until</div>
<div> </div>
<div>Now my first question is what is the type of this function? Well let&#39;s see what the type of until and foldr is:</div>
<div> </div>
<div>until :: (a -&gt; Bool) -&gt; (a -&gt; a) -&gt; a -&gt; a</div>
<div>foldr :: (a -&gt; b -&gt; b) -&gt; b -&gt; [a] -&gt; b</div>
<div> </div>
<div>So I would be thinking: we fill until in the position of (a -&gt; b -&gt; b) so, a correspond with (a -&gt; Bool) and b correspond with (a -&gt; a) and b correspond with a. Hmm a small problem, I think we can divide that as follows: b1 corresponds with (a -&gt; a) and b2 corresponds with a. So I get:</div>

<div> </div>
<div>foldr until :: b1 -&gt; [a] -&gt; b2</div>
<div>foldr until :: (a -&gt; a) -&gt; [a -&gt; Bool] -&gt; a</div>
<div> </div>
<div>Is this a correct way of thinking or am I wrong?</div>
<div> </div>
<div>And another question is: can someone give me an example how this can be executed? All my code that I tried to execute resulted in errors with &quot;foldr until&quot;.</div>
<div> </div>
<div>Thanks!</div>
<div> </div>