File: 348_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 (24 lines) | stat: -rw-r--r-- 338 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
signature S =
sig
  datatype a = A of a | B
end

signature T =
sig
  structure T : S
end

functor G(S1 : S) : T =
struct
  structure T = F(S1)
end

(*
2019-11-11 katsu

This code is correct but causes the following error.

348_functor2.smi:3.17-3.17 Error:
  (name evaluation "300") Signature mismatch. constructor type mismatch: T.A

*)