Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-08-11 | Use different colors for different types of edits | Timotej Lazar | |
Remove on-hover explanations and replace the now-useless gutter with line numbers. Explanations will be reintroduced in a later commit. | |||
2015-08-11 | Minor tweaks in monkey.monkey | Timotej Lazar | |
2015-08-11 | Print a random failing test for incorrect solution | Timotej Lazar | |
2015-08-11 | prolog.engine: use .get() to access reply | Timotej Lazar | |
In case SWI engine goes insane and returns a malformed reply (has happened). Also fix the test case in this file to use the new, classless methods. | |||
2015-08-11 | Move hint message generation to a new function | Timotej Lazar | |
2015-08-11 | Correctly find first token in current part in step | Timotej Lazar | |
2015-08-11 | Oops, a line got lost | Timotej Lazar | |
2015-08-11 | Ignore edits a→b where a or b has multiple parts | Timotej Lazar | |
This happens for instance when a user writes more than one goal on the same line. A better way would be to handle this when building a graph (use annotate instead of splitting on newlines). | |||
2015-08-11 | Annotate tokens instead of splitting program | Timotej Lazar | |
Instead of splitting the program by line numbers, do limited parsing (enough to distinguish , in "memb(X,Y)" from , in "a :- b, c."). Each token in the parsed program is annotated with rule and part number. Rewrite monkey.fix.step to take program as a sequence of annotated tokens instead of lists of lines and rules. Improve message passing to website. | |||
2015-08-11 | Simplify calls to prolog.util.map_vars | Timotej Lazar | |
2015-08-11 | Exclude admin and test users when analyzing traces | Timotej Lazar | |
2015-08-11 | Use one format for all messages passed to JS side | Timotej Lazar | |
2015-08-11 | Add a function for Damerau-Levenshtein distance | Timotej Lazar | |
Will be used to check for typos. | |||
2015-08-11 | Don't store solution-line frequencies | Timotej Lazar | |
This is currently unused. | |||
2015-08-11 | Pass the entire current path to monkey.fix.step | Timotej Lazar | |
Only the last step is used currently. | |||
2015-08-11 | monkey.fix.step: apply all edits in line order | Timotej Lazar | |
For instance, don't add a new rule at line 1 after changing line 3 - only the ordered sequence of edits will be checked. | |||
2015-08-11 | Remove unused imports in monkey.test | Timotej Lazar | |
2015-08-11 | Simplify monkey.edits.get_edits_from_traces | Timotej Lazar | |
2015-08-11 | Rename monkey.edits.edit_graph to trace_graph | Timotej Lazar | |
2015-08-11 | Cleanups | Timotej Lazar | |
2015-08-11 | Fix recording replacements (remove/insert) | Timotej Lazar | |
2015-08-11 | Improve adding a rule in monkey.fix.step | Timotej Lazar | |
2015-08-11 | Improve codemirror markers | Timotej Lazar | |
2015-08-11 | Improve monkey.fix.postprocess | Timotej Lazar | |
2015-08-11 | Move normalize to prolog.util | Timotej Lazar | |
2015-08-11 | Ignore edits after the first correct version | Timotej Lazar | |
2015-08-11 | Clean up prolog.util.decompose | Timotej Lazar | |
2015-08-11 | Clean up monkey.fix.step | Timotej Lazar | |
2015-08-11 | Simplify get_edits_from_traces | Timotej Lazar | |
2015-08-11 | Minor fixes in monkey.test | Timotej Lazar | |
2015-08-11 | Remove all trailing punctuation from lines | Timotej Lazar | |
Remove trailing sequences of COMMAs and PERIODs when extracting edits from a trace. This is because subgoal order is rarely important in Prolog, and we don't care if the edit happened on the last line or not. This means that we treat for example "conc(A,B)," → "conc(A,B,C)." the same as "conc(A,B)" → "conc(A,B,C)". | |||
2015-08-11 | Small cleanups | Timotej Lazar | |
2015-08-11 | Clean up monkey.edits.get_paths | Timotej Lazar | |
2015-08-11 | Move monkey.prolog to root module | Timotej Lazar | |
2015-08-11 | Clean up monkey.prolog.util | Timotej Lazar | |
2015-08-11 | Minor cleanups in monkey.monkey | Timotej Lazar | |
2015-08-11 | Initial error marking support | Timotej Lazar | |
Some cleanups in monkey.monkey. Need better namespacing. Basic postprocessing (merge edits to same line). | |||
2015-08-11 | Pass auxiliary code to fix in monkey.test | Timotej Lazar | |
2015-08-11 | Refactor monkey.monkey.fix | Timotej Lazar | |
2015-08-11 | Remove a superfluous try/except block | Timotej Lazar | |
2015-08-11 | Reduce number of requests when testing | Timotej Lazar | |
Allow running a query when creating the pengine. Also replace PrologEngine with a set of functions. | |||
2015-08-11 | Find out pengine ID server-side in run_tests | Timotej Lazar | |
2015-08-11 | Move get_aux_code to tutor/models.py | Timotej Lazar | |
2015-08-11 | Remove unused imports | Timotej Lazar | |
2015-08-11 | Add support for hint generation | Timotej Lazar | |
2015-08-11 | Pickle frequent edits when calling monkey.edits | Timotej Lazar | |
Resulting file contains a 4-tuple with edit, line, submission and query frequencies. Each element of the tuple is a dictionary of the form <pid>: dictionary of frequencies The data in this file will be loaded by the tutor app and used for generating hints. | |||
2015-08-11 | Move testing code from monkey.py to test.py | Timotej Lazar | |
Drop monkey/db.py and use Django models instead. | |||
2015-08-11 | Add prolog.engine.test | Timotej Lazar | |
Runs tests for the specified predicate on the given code and returns True if all tests succeed. Stop at first failure. | |||
2015-08-11 | Rename monkey.prolog.engine.test to test_all | Timotej Lazar | |
2015-08-11 | Rewrite monkey.action test code to use Django db | Timotej Lazar | |