2 ms·
> one would expect to annotate the return type as > foo(x : int) : string > since the pattern is showing foo applied to x. kind of like the C/C++ "declarati
by uryga 5y ago
> one would expect to annotate the return type as
> foo(x : int) : string
> since the pattern is showing foo applied to x.
kind of like the C/C++ "declaration mirrors use" thing, i.e.
int *foo;
which means
"the result of dereferencing `foo` is of type `int`"
which is not the same as saying
foo : Ptr<int>;
because in the former, you're kind of describing what `foo` is a without actually saying it, if that makes sense.
i find that way of specifying types counterintuitive in both C/C++ and MLs.