File: 057_wheretype.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 (36 lines) | stat: -rw-r--r-- 643 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
datatype 'a t = X of 'a t

signature S =
sig
  datatype 'a t = X of 'a t
end

structure A =
struct
  datatype t = datatype t
end
:> S where type 'a t = 'a t

(*
2011-08-23 katsu

This causes an unexpected type mismatch error.

057_sig.sml:11.4-11.27 Error:
  (name evaluation 082) Type mismatch in sig where:t.(3)

2011-08-24 katsu

A bug is found in the above test code.
I fixed the bug but this code still causes the error.

*)

(*
2011-08-24 ohori

The abve phenomenon was indeed bug in sigCheck of datatype against datatype.
Constror types should be checked on the assumption that the two datatypes are
equivalent. This code is added.

*)