// ĠMODULE : Ġlib Ċ // ĠFILE : ĠA . kt Ċ // ĠVERSION : Ġ 1 Ċ Ċ fun ĠX . foo ( param : ĠString ) Ġ= Ġ" foo Ġbefore Ġchange Ġ$ param " Ċ fun Ġbar ( param : ĠString ) Ġ= Ġ" bar Ġbefore Ġchange Ġ$ param " Ċ Ċ class ĠX () Ġ{ ĊĠĠĠ Ġfun Ġqu x ( param : ĠString ) Ġ= Ġ" qu x Ġbefore Ġchange Ġ$ param " ĊĠĠĠ Ġfun Ġm uc ( param : ĠString ) Ġ= Ġ" m uc Ġbefore Ġchange Ġ$ param " Ċ } Ċ Ċ // ĠFILE : ĠB . kt Ċ // ĠVERSION : Ġ 2 Ċ Ċ infix Ġfun ĠX . foo ( param : ĠString ) Ġ= Ġ" foo Ġafter Ġchange Ġto Ġin fix Ġ$ param " Ċ tail rec Ġfun Ġbar ( param : ĠString ) Ġ= Ġ" bar Ġafter Ġchange Ġto Ġtail rec Ġ$ param " Ċ Ċ class ĠX () Ġ{ ĊĠĠĠ Ġin fix Ġfun Ġqu x ( param : ĠString ) Ġ= Ġ" qu x Ġafter Ġchange Ġto Ġin fix Ġ$ param " ĊĠĠĠ Ġtail rec Ġfun Ġm uc ( param : ĠString ) Ġ= Ġ" m uc Ġafter Ġchange Ġto Ġtail rec Ġ$ param " Ċ } ĊĊ Ċ // ĠMODULE : Ġmain Lib ( lib ) Ċ // ĠFILE : Ġmain Lib . kt Ċ fun Ġlib (): ĠString Ġ= Ġwhen Ġ{ ĊĠĠĠ ĠX (). foo (" yes ") Ġ!= Ġ" foo Ġafter Ġchange Ġto Ġin fix Ġyes " Ġ-> Ġ" fail Ġ 1 " ĊĠĠĠ Ġbar (" in deed ") Ġ!= Ġ" bar Ġafter Ġchange Ġto Ġtail rec Ġindeed " Ġ-> Ġ" fail Ġ 2 " ĊĠĠĠ ĠX (). qu x (" natur ally ") Ġ!= Ġ" qu x Ġafter Ġchange Ġto Ġin fix Ġn atur ally " Ġ-> Ġ" fail Ġ 3 " ĊĠĠĠ ĠX (). m uc (" of Ġcourse ") Ġ!= Ġ" m uc Ġafter Ġchange Ġto Ġtail rec Ġof Ġcourse " Ġ-> Ġ" fail Ġ 4 " ĊĠĠĠ Ġelse Ġ-> Ġ" OK " Ċ } Ċ Ċ // ĠMODULE : Ġmain ( main Lib ) Ċ // ĠFILE : Ġmain . kt Ċ fun Ġbox (): ĠString Ġ= Ġlib () ĊĊ