File: opaque2.sml

package info (click to toggle)
mlton 20130715-3
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 60,900 kB
  • ctags: 69,386
  • sloc: xml: 34,418; ansic: 17,399; lisp: 2,879; makefile: 1,605; sh: 1,254; pascal: 256; python: 143; asm: 97
file content (14 lines) | stat: -rw-r--r-- 348 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
structure S :> sig type ('a,'b) t 
                   val f : ('a,'b) t -> ('b,'a) t
                   val mk : 'a * 'b -> ('a,'b) t 
               end
             =
           struct
             type ('a,'b) t = 'b * 'a
             fun f (x,y) = (y,x)
             fun mk (a,b) = (b,a)
           end

val a = S.mk (5, "hello")

val b = S.f a