File: kitdangle3.sml

package info (click to toggle)
mlton 20100608-5
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 36,624 kB
  • sloc: ansic: 18,441; lisp: 2,879; makefile: 1,572; sh: 1,326; pascal: 256; asm: 97
file content (22 lines) | stat: -rw-r--r-- 477 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(*kitdangle3.sml*)

infix - + :: =
(*fun op = (x: ''a, y: ''a): bool =           prim("=", "=", (x, y)) *)

exception Hd
fun hd (x::l) = x
  | hd [] = raise Hd

fun mklist 0 = []
  | mklist n = n :: mklist(n-1)

fun cycle(p as (m,f)) = 
  if m=0 then p
  else cycle(m-1, 
         let val x = [(m, mklist 2000)]
         in fn () => #1(hd x) + f()
         end)

val r = ((cycle(1000, fn() => 0);()),
         (cycle(1000, fn() => 0);()),
         (cycle(1000, fn() => 0);()))