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 <
andre...@netcabo.pt> 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
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to