File: 362_functor.sml

package info (click to toggle)
smlsharp 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 123,732 kB
  • sloc: ansic: 16,725; sh: 4,347; makefile: 2,191; java: 742; haskell: 493; ruby: 305; cpp: 284; pascal: 256; ml: 255; lisp: 141; asm: 97; sql: 74
file content (17 lines) | stat: -rw-r--r-- 390 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
functor F (P : sig type t end) =
struct
  type u = {y : int}
  fun f _ : u = { y = 5 }
end

(*
2020-05-19 katsu

This causes the following unexpected type error.

(none)-1.8 Error:
  (type inference 083) type and type annotation don't agree
    inferred type: ['a. ({1: 'a} -> {1: 'a}) -> {1: ['b. 'b -> {y: int}]}]
  type annotation: ['a. ({1: 'a} -> {1: 'a}) -> {1: int -> {y: int}}]

*)