File: 025_equal.sml

package info (click to toggle)
smlsharp 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 123,732 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 (35 lines) | stat: -rw-r--r-- 849 bytes parent folder | download | duplicates (2)
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
infix =
val puts = _import "puts" : string -> int
datatype term
  = Var of int
  | Term of string * term list
(*
v3*(v2*(v5*v4))
This is the term first failed on the test M'=N' in processf
*)
val x = Term("*", [Var 3, Term("*", [Var 2, Term("*", [Var 5, Var 4])])])
val y = Term("*", [Var 3, Term("*", [Var 2, Term("*", [Var 5, Var 4])])])
val z = if x = y then puts "OK" else puts "NG"

(*
2011-08-17 ohori

[BUG] transformExp: CAMERGE
    raised at: ../toyaanormal/main/ToYAANormal.sml:592.31-592.66
   handled at: ../toplevel2/main/Top.sml:828.37
		main/SimpleMain.sml:269.53

A Note:

This cases a BUG exception. This is related to knuth-bendix fails.
In processf, it tests equality on the same term of this by polymorphic
equality, which fails. 

*)

(*
2011-08-17 katsu

Fixed by changeset c76fdbd14dee.
This is a minor bug of ToYAANormal.
*)