package Ġorg . open rnd r Ċ Ċ class ĠApplication Builder Ġinternal Ġconstructor (){ ĊĠĠĠ Ġinternal Ġval Ġconfiguration Ġ= ĠConfiguration () ĊĠĠĠ Ġinternal Ġvar Ġprogram : ĠProgram Ġ= ĠProgram () ĊĊĠĠĠ Ġfun Ġconfigure ( init : ĠConfiguration . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfiguration . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprogram ( init : ĠProgram . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprogram Ġ= Ġobject Ġ: ĠProgram () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠRuns Ġ[ program Function ] Ġas Ġan Ġapplication Ġusing Ġ[ configuration ], Ġthis Ġprovides Ġa Ġmore Ġfunctional Ġfl av ored Ġway Ġof Ċ Ġ* Ġwriting Ġapplications . Ċ Ġ*/ Ċ fun Ġapplication ( build : ĠApplication Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġapplication Builder Ġ= ĠApplication Builder (). apply Ġ{ Ġbuild () Ġ} ĊĠĠĠ Ġapplication ( application Builder . program , Ġapplication Builder . configuration ) Ċ }