adamc@780: fun sub r = adamc@780: let adamc@780: fun sub' ls = adamc@780: case ls of adamc@780: [] => adamc@780: | r :: ls => adamc@780:
  • {[r.Num]} = {[r.Text]}
  • adamc@780: {sub' ls} adamc@780:
    adamc@780: in adamc@780: return adamc@780: {sub' r.Lines} adamc@780: adamc@780: end adamc@780: adam@1833: fun subfrms n = adamc@780: if n <= 0 then adamc@780: adamc@780: else adamc@780: adamc@780: adamc@780: adamc@780:
  • {[n]}:
  • adamc@780:
    adam@1833: {subfrms (n - 1)} adamc@780:
    adamc@780: adamc@780: fun form n = return adamc@780:
    adamc@780: adam@1833: {subfrms n} adamc@780: adamc@780: adamc@780: adamc@780: adamc@780: One more blank
    adamc@780: {if n > 0 then adamc@780: One fewer blank adamc@780: else adamc@780: } adamc@780: adamc@780: adamc@780: fun main () = form 1