adamc@455: fun pageA () = return adamc@455: adamc@455: A adamc@455: adamc@455: adamc@455:
adamc@455: adamc@455: adamc@455: adamc@455: adamc@455: adamc@455: adamc@455: adamc@455: adamc@455: adamc@455:
Forename:
Enter a Surname?
adamc@455: adamc@455: adamc@455: adamc@455:
adamc@455: adamc@455: and fromA r = adamc@455: let adamc@455: val forename = r.Forename adamc@455: adamc@455: fun pageB () = return adamc@455: adamc@455: B adamc@455: adamc@455: adamc@455:
adamc@455: Surname: adamc@455: adamc@455: adamc@455: adamc@455: Previous adamc@455: adamc@455:
adamc@455: adamc@455: and pageC' r = pageC (Some r.Surname) adamc@455: adamc@455: and pageC surname = return adamc@455: adamc@455: C adamc@455: adamc@455: adamc@455:

Hello {[forename]}{case surname of adamc@455: None => adamc@455: | Some s => {[s]}}

adamc@455: {case surname of adamc@455: None => Previous adamc@455: | Some _ => Previous} adamc@455: adamc@455:
adamc@455: in adamc@455: if r.EnterSurname then adamc@455: pageB () adamc@455: else adamc@455: pageC None adamc@455: end adamc@455: adamc@455: val main = pageA