The code of a complete module can be evaluated by the asModule
method:
let env = gololang.EvaluationEnvironment() let code = """ module foo function a = -> "a!" function b = -> "b!" """ let mod = env: asModule(code) let a = fun("a", mod) let b = fun("b", mod) println(a()) println(b())
It is important to note that an EvaluationEnvironment
instance has a GoloClassloader
, and that
attempting to evaluate module code with the same module
declaration will cause an error. Indeed, a
class loader cannot load classes with the same name twice.