Warning: session_start(): open(/var/lib/php/sessions/sess_10a5l6ophrps7t4ikpl780pqkd, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
!include once #1017126 // transpileRaw
sclass DevelopFromExamples > DynTextArea {
S whatToTry;
transient ReliableSingleThread rst = new(r think);
JComponent visualize() {
ret withCenteredButtons(centerAndSouthWithMargins(
jhsplit(super.visualize(), dm_printLogComponent()),
jsection("Stuff to try", dm_fieldTextField('whatToTry))), "Think", rst);
}
void think {
clearPrintLog();
loadFunctions_preferDiskCache();
S text = rtrimAll(getText());
Pair examplesFile = ai_makeExamplesFile(text);
if (examplesFile.b) print("Wrote: " + f2s(examplesFile.a));
new L> examples;
bool eqic = false;
L lines = tlftj(text);
if (eq(first(lines), "splitAtEmptyLines"))
lines = splitAtEmptyLines(text);
for (S line : lines) pcall {
if (eqic(line, "eqic")) eqic = true;
L l = splitAtDoubleArrow_bothDirections(line);
if (l(l) == 2) addPair(examples,
tok_multiLineQuotesToStandardQuotes(first(l)),
safeCanonicalizeStructure(tok_multiLineQuotesToStandardQuotes(second(l))));
}
final File logFile = replaceExtension(examplesFile.a, ".log");
final LineBuffer lineBuffer = new(voidfunc(S line) { appendToFile(logFile, line + "\n") });
temp tempInterceptPrint(func(S s) -> Bool { lineBuffer.append(s); true; });
print(localDateWithMilliseconds());
print("Thinking about " + n2(examples, "example"));
new LinkedHashSet thingsThatWork;
F2 equalsFunction = eqic
? func(O a, O b) -> Bool { eqic((S) a, (S) b) }
: func(O a, O b) -> Bool { eq(a, b) };
for (fS s : words(whatToTry))
if (isStandardFunction(s)) {
F1 f = func(S in) -> S { struct(callAndMake_orDirect(s, unstruct(in))) };
T3 counterExample = worksOnAllExamples_returnCounterExample(f, examples, equalsFunction);
if (counterExample == null)
print("WORKS: " + addAndReturn(thingsThatWork, s));
else {
print("Nope: " + s);
bool exc = counterExample.c instanceof Throwable;
print((exc ? "Exception on: "
: "Wrong result on: ") + sfu(counterExample.a));
print( "Expected: " + sfu(counterExample.b));
if (exc)
printStackTrace((Throwable) counterExample.c);
else
print( " Result: " + sfu(counterExample.c));
}
}
print("Done. " + (empty(thingsThatWork) ? "Nothing works." : "Things that work: " + joinWithComma(thingsThatWork)));
print();
}
}