File: 154_staticanalysis.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 (66 lines) | stat: -rw-r--r-- 1,536 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
60
61
62
63
64
65
66
infixr ::

structure Fifo :> sig
  type 'a queue
  val empty : 'a queue
  val get : 'a queue -> 'a * 'a queue
end = 
struct
  type 'a queue = 'a list * 'a list
  val empty = (nil, nil)
  fun get (a::x,y) = (a, (x, y))
end

val q = Fifo.empty : int Fifo.queue
val (_,newQueue) = Fifo.get q

(*
2011-11-28 katsu

This causes BUG at StaticAnalysis.

Unification fails (3)
int(t0[]) queue(t30[[opaque(rv1,['a. 'a list(t15[]) * 'a list(t15[])])]])
{1: int(t0[]) list(t15[]), 2: int(t0[]) list(t15[])}^{U}
TLSELECT: unification fail
tlexp
#1
  _indexof(1,
           int(t0[])
           * int(t0[])
               queue(t30[[opaque(rv1,['a. 'a list(t15[]) * 'a list(t15[])])]]))
  $T_b(10)
recordExp
$T_b(10)
indexExp
_indexof(1,
         int(t0[])
         * int(t0[])
             queue(t30[[opaque(rv1,['a. 'a list(t15[]) * 'a list(t15[])])]]))
recordTy
int(t0[])
* int(t0[]) queue(t30[[opaque(rv1,['a. 'a list(t15[]) * 'a list(t15[])])]])
newRecordTy
{1: int(t0[]), 2: {1: int(t0[]) list(t15[]), 2: int(t0[]) list(t15[])}^{U}}^{U}

indexTy
index(1,
      {
        1: int(t0[]),
        2: {1: int(t0[]) list(t15[]), 2: int(t0[]) list(t15[])}^{U}
      }
      ^{U})

newIndexTy
index(1,
      {
        1: int(t0[]),
        2: int(t0[]) queue(t30[[opaque(rv1,['a. 'a list(t15[]) * 'a list(t15[])])]])
      }
      ^{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
*)