File: circular.sml

package info (click to toggle)
mlton 20100608-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 34,980 kB
  • ctags: 69,089
  • sloc: ansic: 18,421; lisp: 2,879; makefile: 1,570; sh: 1,325; pascal: 256; asm: 97
file content (12 lines) | stat: -rw-r--r-- 245 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
open Vector

datatype t = T of t vector
fun makeT () = T (tabulate (0, fn _ => makeT ()))
fun destT (T v) =
   if length v > 0
      then 1 + destT (sub (v, 0))
   else 0
val _ =
   if 0 = destT (makeT ())
      then ()
   else raise Fail "bug"