File: 143_functor.sml

package info (click to toggle)
smlsharp 4.1.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 123,724 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 (33 lines) | stat: -rw-r--r-- 988 bytes parent folder | download | duplicates (3)
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
functor F(A : sig type t end) =
struct
  type s = A.t
  datatype 'b bar = B of A.t
  datatype 'c car = C of s
end

(*
2011-09-11 katsu

This causes BUG.

[BUG] NameEval (FunctorUtils): TSTR_TOTVAR in sig
    raised at: ../nameevaluation/main/FunctorUtils.sml:745.38-745.62
   handled at: ../nameevaluation/main/FunctorUtils.sml:816.27
                ../nameevaluation/main/FunctorUtils.sml:816.27
                ../nameevaluation/main/CheckProvide.sml:1110.43
                ../nameevaluation/main/CheckProvide.sml:1122.59
                ../nameevaluation/main/NameEval.sml:2537.31
                ../nameevaluation/main/NameEval.sml:2549.27-2549.30
                ../toplevel2/main/Top.sml:753.66-753.69
                ../toplevel2/main/Top.sml:836.37
                main/SimpleMain.sml:368.53
*)

(*
2011-11-25 ohori

Fixed by chnaging the strategy of lifting type decls in functor args.
 type foo
in functor argument is now compiled to \().'a and TFUN_TOTVAR is eliminated.

*)