File: thread0.sml

package info (click to toggle)
mlton 20130715-3
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 60,900 kB
  • ctags: 69,386
  • sloc: xml: 34,418; ansic: 17,399; lisp: 2,879; makefile: 1,605; sh: 1,254; pascal: 256; python: 143; asm: 97
file content (27 lines) | stat: -rw-r--r-- 733 bytes parent folder | download | duplicates (8)
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 ()