equal
deleted
inserted
replaced
31 val timer = time (Timer.startRealTimer ()); |
31 val timer = time (Timer.startRealTimer ()); |
32 val live = live_of_bnf (hd bnfs); |
32 val live = live_of_bnf (hd bnfs); |
33 val n = length bnfs; (*active*) |
33 val n = length bnfs; (*active*) |
34 val ks = 1 upto n; |
34 val ks = 1 upto n; |
35 val m = live - n; (*passive, if 0 don't generate a new bnf*) |
35 val m = live - n; (*passive, if 0 don't generate a new bnf*) |
36 val b = Binding.name (fold_rev (fn b => fn s => Binding.name_of b ^ s) bs ""); |
36 val b = Binding.name (mk_bundle_name bs); |
37 |
37 |
38 (* TODO: check if m, n etc are sane *) |
38 (* TODO: check if m, n etc are sane *) |
39 |
39 |
40 val deads = fold (union (op =)) Dss resDs; |
40 val deads = fold (union (op =)) Dss resDs; |
41 val names_lthy = fold Variable.declare_typ deads lthy; |
41 val names_lthy = fold Variable.declare_typ deads lthy; |