File: 100_evaltfun.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 (34 lines) | stat: -rw-r--r-- 760 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
structure S : sig
  type t
  val f : t -> unit
end =
struct
  type t = int * int
  fun f (_:t) = ()
end
val _ = S.f

(*
2011-09-02 katsu

This causes BUG at InferTypes.

uncaught exception: EVALTFUN: EVALTFUN
    raised at: ../types/main/EvalIty.sml:63.15-63.75
   handled at: ../types/main/EvalIty.sml:137.45
                ../typeinference2/main/InferTypes.sml:1877.63
                ../typeinference2/main/InferTypes.sml:3670.28
                ../toplevel2/main/Top.sml:766.65-766.68
                ../toplevel2/main/Top.sml:868.37
                main/SimpleMain.sml:359.53
*)


(*
2011-09-02 ohori

Fixed. The fix is rather ad hoc.
In this case tfun is not normal, so I tentatively added
normalization in InferType. I will review this case later.

*)