Re: [go-nuts] "interface{} says nothing", lets consider it destroys information

2017-07-21 Thread mhhcbon
here is a solution to what i described in previous. The result of func mustNotErr(f func() (, error)) func() () {} is the transitivity of t -to> func (...) (..., *-*error) mustNotErr takes in input a func T with any inputs, and a *traling* error, returns in output, the func T *less* the trailing

Re: [go-nuts] "interface{} says nothing", lets consider it destroys information

2017-07-21 Thread mhhcbon
so wise! thanks for those clarification. I did not deeply understand why it is called an identity func, and why it has to be this signature. It seems so narrowed to a specific case, makes me unhappy. Now, i realized that even if , for some specific cases, seems to solve some situations, it won

Re: [go-nuts] "interface{} says nothing", lets consider it destroys information

2017-07-20 Thread Jesper Louis Andersen
On Mon, Jul 17, 2017 at 11:07 AM wrote: > does it make sense to consider a "value type of any type that carries out > its input type" ? > Yes. This is called a "universal" and is related to the concept of parametrization by J. Reynolds. Your 'do' function is often called 'id' for the obvious re

[go-nuts] "interface{} says nothing", lets consider it destroys information

2017-07-17 Thread mhhcbon
in func do(i interface{}) interface{} (return i), do says nothing because "interface{} says nothing", from the caller pov, it looses information at the return call, var x = "o" do(x) // <- return lost the track it was a string if you delegate that func to another func, it can t says anything