// A = parameter type srecord noeq AIC_EvaluateParameter( S parameterName, Cl parameterValues, IVF2 applyParameter) { new AICDemo demo; new Map scores; run { fOr (param : parameterValues) { demo.adapt = aic -> applyParameter.get(param); int l = l(demo.compress()); tokenByToken.add(demo.tokenByToken); printVars(+param, +l, escapeWordsUsed := demo.aicComp.escapeWordsUsed); demo.decompress(); if (!demo.decompressedOK) fail(parameterName + "=" + param + " breaks the algorithm"); scores.put(param, demo.compressedSize); } } }