File: thread0.sml

package info (click to toggle)
mlton 20061107-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 27,828 kB
  • ctags: 61,118
  • sloc: ansic: 11,446; makefile: 1,339; sh: 1,160; lisp: 900; pascal: 256; asm: 97
file content (27 lines) | stat: -rw-r--r-- 733 bytes parent folder | download | duplicates (7)
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
open MLton.Thread

val _ =
   if 13 = 1 + switch(fn t => prepare (t, 12))
      then print "1 succeeded\n"
   else ()

val _ =
   if 13 = 1 + switch(fn t =>
                      prepare (new(fn () => switch(fn _ => prepare (t, 12))), ()))
      then print "2 succeeded\n"
   else ()
      
val _ =
   if 13 = switch(fn t => prepare (prepend(t, fn n => n + 1), 12))
      then print "3 succeeded\n"
   else ()

val _ =
   if 13 = switch(fn t =>
                  prepare (new(fn () =>
                               let val t = prepend(t, fn n => n + 1)
                               in switch(fn _ => prepare (t, 12))
                               end),
                           ()))
      then print "4 succeeded\n"
   else ()