On Tuesday, November 15, 2016 at 9:30:23 AM UTC-7, Max Goldstein wrote:
>
> My impression is that it's a Haskell extension that's very commonly used.
> In the process of upgrading, I uncommented some signatures only for the
> compiler to tell me that they are incorrect, so this feature has been
> useful already.
Oh it is very useful! And there are certain classes of typed problems that
are impossible without this feature, so it is highly useful!
An example of usage in OCaml anyway (since I have a shell of it up right
now):
```ocaml
let f (x : 'x) =
let a (y : 'x) = ()
in a
let b = f 42 3
```
That compiles right, changing b to this though: let b = f 42 3.14
Causes this error:
```
Line 6, 14: Error: This expression has type float but an expression was
expected of type
int
```
Where this compiles fine (and may not only be entirely unexpected but could
hide major bugs later in the program!):
```ocaml
let f x =
let a y = ()
in a
let b = f 42 3.14
```
--
You received this message because you are subscribed to the Google Groups "Elm
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.