<br>Might have not been clear, but i will try illustrate .<br><br><br>f:: a-> b -> c -> (b,(c,a))<br><br>f1 :: c -> a -> d<br><br><br>input type:<br> A B C <br> ----------<br>
| f |<br> | _____ |<br><br>output (B,(C,A))<br> <br>
<br> C A <br> ----------<br> | f1 |<br> | _____ |<br><br>output D<br>
<br>If i want compose f and f1, i need to do a correct input to f1 from the output of f.<br>So i want one function to convert the output of "f" to input off "f!".<br>In this case, we do f1 fst (snd (t,(t1,t2))) snd (snd (t,(t1,t2)))<br>
But i want do this automaticaly, for type of any two function. I search for the "glue".<br><br>I don't have any concern about what the function does, i only have interess on input and output types.<br><br><br>
Cheers,<br> André<br><br><br><br><div class="gmail_quote">No dia 9 de Outubro de 2010 22:38, André Batista Martins <span dir="ltr"><<a href="mailto:andre_bm@netcabo.pt">andre_bm@netcabo.pt</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hello,<br> exists any algorithm to determine how terms can be changed to safisty the type of one function?<br><br><br>example:<br><br>f:: a-> b -> c -> (b,c,a)<br><br>f1 :: c -> a -> d<br><br>In my first function "f" i want assign the output "c" and "a" for to input of function "f1".<br>
I searched for any solution, but i didn't find any anything.<br><br>One
clue i have found is "minimal edit distance algorithm" for 2 strings.
Perhaps if i convert de output type of "f" to one string, and de input
of "f1" to another string and then use this algorithm , i will get one
"dirty" solution...<br>
<br>I'm open to any sugestion.<br>
</blockquote></div><br>