File: finalize.2.sml

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (18 lines) | stat: -rw-r--r-- 405 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
structure F = MLton.Finalizable

fun loop (n, f) =
   if n = 0
      then ()
   else
      let
         val f' = F.new n
         val _ = F.addFinalizer (f', fn _ =>
                                 F.withValue
                                 (f, fn n =>
                                  print (concat [Int.toString n, "\n"])))
      in
         loop (n - 1, f')
      end

val r = loop (10, F.new 13)