// Defaults to standard environment (current program directory) // Subclass for any different environments! static class LoadEnv { S loadStructure(S varName) { ret loadTextFile(getProgramFile(varName + ".structure")); } void saveStructure(S varName, S structure) { saveTextFile(getProgramFile(varName + ".structure"), structure); } void load(O o, S varName) { S s = loadStructure(varName); if (s != null) setOpt(o, varName, unstructure(s)); } void save(O o, S varName) { saveStructure(varName, structure(getOpt(o, varName))); } }