Might have not been clear, but i will try illustrate .
f:: a-> b -> c -> (b,(c,a))
f1 :: c -> a -> d
input type:
A B C
----------
| f |
| _____ |
output (B,(C,A))
C A
----------
| f1 |
| _____ |
output D
If i want compose f and f1, i need to do a correct input to f1 from the
output of f.
So i want one function to convert the output of "f" to input off "f!".
In this case, we do f1 fst (snd (t,(t1,t2))) snd (snd (t,(t1,t2)))
But i want do this automaticaly, for type of any two function. I search for
the "glue".
I don't have any concern about what the function does, i only have interess
on input and output types.
Cheers,
André
No dia 9 de Outubro de 2010 22:38, André Batista Martins <
[email protected]> escreveu:
> Hello,
> exists any algorithm to determine how terms can be changed to safisty the
> type of one function?
>
>
> example:
>
> f:: a-> b -> c -> (b,c,a)
>
> f1 :: c -> a -> d
>
> In my first function "f" i want assign the output "c" and "a" for to input
> of function "f1".
> I searched for any solution, but i didn't find any anything.
>
> 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...
>
> I'm open to any sugestion.
>
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe