File: 178_functorarg.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 (59 lines) | stat: -rw-r--r-- 1,286 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
functor F (A : sig type t end) :> sig
  type 'a map
  val empty : 'a map
end =
struct
  type 'a map = A.t list
  val empty = []
end

(*
2011-12-02 katsu

This causes BUG at StaticAnalysis.

TLSELECT: unification fail
tlexp
#1
  _indexof(1,
           {1:
              ['a.
               {TAG('a), SIZE('a)}
               -> 'a map(t33[[opaque(rv1,['b. FREEBTV(35) list(t15[])])]])]})
  $T_b(5)
recordExp
$T_b(5)
indexExp
_indexof(1,
         {1:
            ['a.
             {TAG('a), SIZE('a)}
             -> 'a map(t33[[opaque(rv1,['b. FREEBTV(35) list(t15[])])]])]})
recordTy
{1:
   ['a.
    {TAG('a), SIZE('a)}
    -> 'a map(t33[[opaque(rv1,['b. FREEBTV(35) list(t15[])])]])]}
newRecordTy
{1: ['t34.({tag(t34), size(t34)} -f2-> (t36) list(t15[]))^{L1}]}^{L2}

indexTy
index(1, {1: ['t34.({tag(t34), size(t34)} -f2-> (t36) list(t15[]))^{L1}]}^{L2})

newIndexTy
index(1, {1: ['t34.({tag(t34), size(t34)} -f6-> (t35) list(t15[]))^{U}]}^{U})

[BUG] StaticAnalysis:TLSELECT: unification fail
    raised at: ../staticanalysis/main/StaticAnalysis.sml:290.29-290.61
   handled at: ../toplevel2/main/Top.sml:836.37
                main/SimpleMain.sml:368.53

*)


(*
2011-12-04 ohori

Fixed. Needed to substitute inside of tyCon (TYDEF, opaqueRep) 
when we do substBTvar, of cource.
*)