File: 198_handle.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-- 478 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
exception E;
(*
fun f() = (print "E0\n";raise ((print "E1\n"; raise E) handle E => (print "E2\n";raise (print "E3\n";E)))) handle E => 1;
*)
(*
val vRaise = (raise ((raise E) handle E => raise E)) handle E => 1;
*)
val vRaise = ((raise E) handle E => raise E) handle E => 1

(*
2012-05-18 katsu

This seems to cause infinite loop.

2012-7-11 ohori 
slightly simplified to print the sources.
f() causes infinite loop.
*)

(*
2012-08-07 katsu

Fixed by changeset 251b54794b67.
*)