File: 123_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 (39 lines) | stat: -rw-r--r-- 601 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
_interface "123_functor.smi"
functor F (
  A : sig
   type t
  end
) =
struct
  val x = 1
end

(*
2011-09-06 katsu

funtor "F" is not exported.

After InferTypes:

val _.F(2) : ['a. ({1: 'a} -> {1: 'a}) -> {1: int(t0[])}] =
 ['b.
  fn {id(0) : {1: 'a} -> {1: 'a}} =>
    let
      val x(1) : int(t0[]) = 1 : int(t0[])
    in
      (x(1) : int(t0[])) :{1: int(t0[])} : {{1: int(t0[])}}
    end
    :{1: int(t0[])}
 ]
(***** "_.F" must be exported here. *****)

*)

(*
2011-09-06 ohori

Fixed the two bugs:
(1) not registering the sig equality check error 
(2) missing case in TFV_SPEC in equalTfun

*)