!7 concept LoadedFunction { S code; transient O runnable; transient S methodName; S providedByModule; transient bool loading; void load() { if (runnable != null) ret; if (loading) ret; seaField(loading := true); assertIdentifier(code); setFields(runnable := loadFunctions_cached(code), methodName := code); } } module LoadedFunctions > DynCRUD { start { thread "Load All Functions" { for (LoadedFunction f) f.load(); } } // API void loadFunction(S code) { uniq_sync(LoadedFunction, +code).load(); } }