Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-12-21 | Support all action types in monkey.action | Timotej Lazar | |
2015-12-21 | Fix printing edits in monkey.test | Timotej Lazar | |
2015-12-11 | Rename a function | Timotej Lazar | |
2015-12-11 | Use a more general method for extracting edits | Timotej Lazar | |
This is a large overhaul of monkey code. Before, only edits within individual lines were tracked, which required a Prolog-specific method for splitting a program into a list of lines for every rule. In this version, modifications can be tracked within arbitrary code ranges. Ranges to be tracked are determined by selecting "interesting" subtrees in the AST of the starting code version. The new method is simpler, less language-dependent and easier to extend. The downside is that a program must be syntactically correct before we can attempt to fix it (the previous approach could handle programs with syntax errors in some cases). This commit also integrates a call to monkey.fix in prolog_session.hint, by running it if no other hint is found. | |||
2015-12-10 | Remove unused monkey.action.compress | Timotej Lazar | |
2015-12-10 | Remove trace-graph function from monkey.test | Timotej Lazar | |
2015-12-10 | Add copyright info | Timotej Lazar | |
2015-11-04 | Use correct type for prolog_solve action | Timotej Lazar | |
2015-10-15 | Store identifiers instead of IDs in Problem model | Timotej Lazar | |
2015-10-13 | Move monkey/monkey.py to monkey/__init__.py | Timotej Lazar | |
2015-10-13 | Remove unused code from monkey.action | Timotej Lazar | |
2015-10-13 | Fix: add a missing comma | Timotej Lazar | |
2015-10-05 | Update actions | Timotej Lazar | |
2015-09-24 | Update monkey.test.test for new testing functions | Timotej Lazar | |
2015-09-24 | Remove trailing . from historical Prolog queries | Timotej Lazar | |
2015-09-22 | Add Node.subtrees and Node.leaves functions | Timotej Lazar | |
2015-09-02 | Update monkey.test to work with new DB | Timotej Lazar | |
2015-09-02 | Accept test function as a parameter to monkey.fix | Timotej Lazar | |
2015-08-27 | Replace prolog.engine.run with ask_all | Timotej Lazar | |
Creating and destroying the pengine should be handled somewhere else. This commit also removes query functionality from prolog.engine.create. | |||
2015-08-24 | Remove in-edges from monkey.graph.Node class | Timotej Lazar | |
2015-08-24 | monkey.graph.graphviz: fix escaping of node labels | Timotej Lazar | |
2015-08-24 | monkey.graph.graphviz: use id() to reference nodes | Timotej Lazar | |
2015-08-20 | Convert monkey.edits to use the new DB | Timotej Lazar | |
2015-08-20 | Remove unneeded DB init stuff from monkey.action | Timotej Lazar | |
2015-08-13 | Initial PostgreSQL data model: codeq_user and solution tables. | Aleš Smodiš | |
Converted the action.py to use the new model. | |||
2015-08-11 | Add code to check for typos | Mehmet Akalın | |
2015-08-11 | Fix monkey.test.print_hint | Timotej Lazar | |
2015-08-11 | Improve error & warning reporting | Timotej Lazar | |
Hope it does not break anything. | |||
2015-08-11 | Merge prolog.engine.create{,_and_ask} functions | Timotej Lazar | |
2015-08-11 | Remove app-specific code from prolog.engine | Timotej Lazar | |
2015-08-11 | Do not look for edits in problems with no traces | Timotej Lazar | |
2015-08-11 | Ignore attempts from all non-student users | Timotej Lazar | |
2015-08-11 | Add a couple of utility functions to Node | Timotej Lazar | |
2015-08-11 | Use Node class from monkey.util in parser | Timotej Lazar | |
Also simplify rules for list expressions. | |||
2015-08-11 | Tweak message handling code | Timotej Lazar | |
2015-08-11 | Reorder cases in monkey.test and fix print_hint | Timotej Lazar | |
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 | 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. |