package Ġio . github . ran ol p . lat te . compiler . backend . interpreter Ċ Ċ import Ġio . github . ran ol p . lat te . compiler . backend . core . ast . Function Node Ċ import Ġio . github . ran ol p . lat te . compiler . backend . core . ast . Lat te File Node Ċ import Ġio . github . ran ol p . lat te . compiler . backend . core . objects . L Function Ċ import Ġio . github . ran ol p . lat te . compiler . backend . core . objects . L Package Ċ Ċ object ĠLat te File Interpreter Ġ{ ĊĠĠĠ Ġfun Ġinterpret ( lat te VM : ĠLat te VM , Ġlat te File Node : ĠLat te File Node ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpkg Ġ= ĠL Package ( lat te File Node . package Node ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( top Level Node Ġin Ġlat te File Node . top Level Objects ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( top Level Node ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFunction Node Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat te VM Ġ+= Ġpkg Ġto ĠL Function ( top Level Node ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlat te VM . get Package Level Functions ( pkg ). first OrNull Ġ{ Ġit . signature . name Ġ== Ġ" main " Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ( lat te VM ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ