File: constraint.sml

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (16 lines) | stat: -rw-r--r-- 432 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
signature S = sig type ('a, 'b) t 
                  val A : 'a * int -> ('a, int) t
                  val pr : ('a -> string) -> ('b -> string) -> ('a, 'b) t -> string
              end

structure S = 
  struct
    datatype ('a, 'b) t = A of 'a * 'b
    fun pr pr_a pr_b (A(a,b)) = "A(" ^ pr_a a ^ "," ^ pr_b b ^ ")"
  end

structure S' = S : S

val s = S'.pr (fn s => s) (Int.toString) (S'.A("hello",5))

val _ = print (s ^ "\n")