Modules as blocks in one file (a strike of one root file).
modules.zg
# Modules as blocks in one file (a strike of one root file). See examples/geometry/ for files.bare.never[fn,struct];const'scale':=10;modulecounter{pubconst'start':=1;pubstructCount{n:int32}pubfnbump['c':Count]->Count{returnCount[n='c'.nplusstep[]];}fnstep[]->int32{returnmy.'scale';}# private; reaches the root's constpub.strikemoduleinner{pub.strikefntwice['n':int32]->int32{return'n'times2;}}}fnshow['c':counter.Count]{std::print.useful["count ",'c'.n,newln];}MAIN{let'c':=counter.Count[n=counter.'start'];show[copy'c'];let'd':=counter.bump[give'c'];show[copy'd'];std::print.useful[counter.inner.twice['d'.n],newln];}