{"push_id":2072595950,"size":155,"distinct_size":1,"ref":"refs/heads/readme-add-cloning","head":"d0863ce5eab9c5aff66ab61d883d28b78c604319","before":"3c058d3772e0b644d4f376d58b1fa4dc26f30787","commits":[{"sha":"619badf9bc7d1d40d9b85794bba084c0decc784c","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Fix a typo that broke the profdeep grades.\n\ntools/make_port_code:\n    As above.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/619badf9bc7d1d40d9b85794bba084c0decc784c"},{"sha":"864e849f35b6d4a23f35a2b44c095cb87a0cede0","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Fix formatting.\n\nruntime/mercury_grade.h:\n     As above.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/864e849f35b6d4a23f35a2b44c095cb87a0cede0"},{"sha":"1da267e9f08781f05eb65d6bbf96259b02abc532","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Fix a bug in handling instances with --warn-unused-imports.\n\nThis fixes Mantis bug #412.\n\ncompiler/unused_imports.m:\n    Consider that an instance declaration makes a module \"used\" only if\n    it occurs in the module being compiled, not in an imported or ancestor\n    module. (Mantis bug 412 was caused by instance declarations in implicitly\n    imported modules.)\n\n    Fixing #412 also exposed another bug. When computing the set of modules\n    used by predicates, we considered (besides some non-type entities)\n    only the types of the predicate's arguments, not the types of non-argument\n    variables. In one case in the compiler (mmc_analysis.m), this lead to\n    some actually-used modules not being marked as such, which lead to\n    false unused-import warnings to be generated for them. Fix this by scanning\n    the types of all variables in all of a predicate's procedures, not just\n    the arguments.\n\n    Improve the infrastructure for debugging similar problems.\n\n    Note some possibilities for future improvement.\n\n    Change a predicate name to fit the naming scheme.\n\ncompiler/analysis.m:\n    Add an XXX about a possible improvement.\n\ncompiler/hlds_out_module.m:\n    Make the output we generate for instance methods more readable.\n    As part of this, fix an old bug in the printing of the instance table:\n    the first line of the first method of each concrete instance declaration\n    was accidentally commented out.\n\ncompiler/parse_tree_out.m:\n    Export a different utility predicate for hlds_out_module.m. Make its name\n    conform to the scheme used by related predicates.\n\nbrowser/browse.m:\ncompiler/add_mutable_aux_preds.m:\ncompiler/add_pred.m:\ncompiler/add_special_pred.m:\ncompiler/check_for_missing_type_defns.m:\ncompiler/check_promise.m:\ncompiler/exception_analysis.m:\ncompiler/handle_options.m:\ncompiler/inst_match.m:\ncompiler/mercury_to_mercury.m:\ncompiler/ml_tailcall.m:\ncompiler/module_qual.m:\ncompiler/op_mode.m:\ncompiler/parse_inst_mode_defn.m:\ncompiler/parse_tree_out_clause.m:\ncompiler/parse_tree_out_info.m:\ncompiler/parse_tree_out_inst.m:\ncompiler/parse_tree_out_pragma.m:\ncompiler/parse_tree_out_pred_decl.m:\ncompiler/parse_tree_out_term.m:\ncompiler/parse_type_defn.m:\ncompiler/parse_type_name.m:\ncompiler/parse_util.m:\ncompiler/parse_vars.m:\ncompiler/prog_ctgc.m:\ncompiler/recompilation.usage.m:\ncompiler/resolve_unify_functor.m:\ncompiler/term_constr_main.m:\ncompiler/term_constr_main_types.m:\ncompiler/write_deps_file.m:\nlibrary/bt_array.m:\n    Delete unused imports.\n\ncompiler/module_qual.qual_errors.m:\n    Import a module that the parent module_qual.m doesn't import anymore.\n\ntests/warnings/bug412.{m,exp}:\n    The test case for this bug.\n\ntests/warnings/Mmakefile:\ntests/warnings/Mercury.options:\n    Enable the new test case.\n\ntests/invalid/import_in_parent.err_exp:\n    Update the expected output for this test case. The parent module\n    does not use the imported module (bool) at all, so this is what the\n    error message says after this diff, though its submodule does use bool.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/1da267e9f08781f05eb65d6bbf96259b02abc532"},{"sha":"10c210dc16a703c3de1c92302d875a38d102a40d","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Fix bug #196: binary compatibility checks in C grades do not work.\n\nThese have been broken since 2011 because GCC and clang (at least) began\noptimising away the MR_grade variable we emit at the end of each generated .c\nfile.  The fix is to replace the MR_grade variable with an exported function\nthat references MR_GRADE_VAR in each generated .c file.\n\ncompiler/llds_out_file.m:\ncompiler/mlds_to_c.m:\nutil/mkinit.c:\n     In each generated .c file, emit an exported function that references\n     MR_GRADE_VAR.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/10c210dc16a703c3de1c92302d875a38d102a40d"},{"sha":"7f2d21f219cd011318577be80be4ac26351cdbdf","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Make the analysis typeclass a bit more general.\n\ncompiler/analysis.m:\n    Give the analysis typeclass the ability for a compiler to report\n    which analyses it can do, and turn a semidet function into a semidet\n    predicate.\n\ncompiler/analysis.file.m:\ncompiler/mmc_analysis.m:\n    Conform to the above.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/7f2d21f219cd011318577be80be4ac26351cdbdf"},{"sha":"fea196e6e8d04c65ceb00d758efcb1fa669590a1","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Fix typo.\n\ndeep_profiler/notes/deep_profiling.html:\n    As above.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/fea196e6e8d04c65ceb00d758efcb1fa669590a1"},{"sha":"b99118d031dbd1c71d9a22715fedc216333358b6","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Fix mdb banner message.\n\ntrace/mercury_trace_internal.c:\n     Delete extraneous whitespace in the mdb banner message that\n     was recently introduced.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/b99118d031dbd1c71d9a22715fedc216333358b6"},{"sha":"64861b2d13691f0114d16f8139a6f31b1524a101","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Add version_array.from_reverse_list/1.\n\nlibrary/version_array.m:\n     Add the above function.\n\n     Minor fixes to some comments.\n\ntests/hard_coded/version_array_test.{m,exp}:\n     Extend this test to cover from_reverse_list/1 and\n     from_list/1.\n\nNEWS:\n     Announce the addition.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/64861b2d13691f0114d16f8139a6f31b1524a101"},{"sha":"94359989b9126827b960c0732a7044e492db0711","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Add missing function prototype for mercury_init_grade_check().\n\nruntime/mercury_init.h:\n     As above.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/94359989b9126827b960c0732a7044e492db0711"},{"sha":"4f1e258fbcf797b692349a5741accbadf2528342","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Avoid excessive module qualification in some library modules.\n\nlibrary/multi_map.m:\nlibrary/rbtree.m:\nlibrary/pqueue.m:\n    Avoid module qualifying clause heads.\n\n    Minor formatting fixes.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/4f1e258fbcf797b692349a5741accbadf2528342"},{"sha":"fa6af6b27c56e09dddac6aa36930311d470ce328","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Add rbtree.foldl_values/4.\n\nlibrary/rbtree.m:\n    As above.\n\nNEWS:\n    Announce the addition.\n\n    Fix spelling in a spot.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/fa6af6b27c56e09dddac6aa36930311d470ce328"},{"sha":"c8f3ca091f0bd099ff9a2af730f6afa82a76229a","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Fix spelling in comment.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/c8f3ca091f0bd099ff9a2af730f6afa82a76229a"},{"sha":"c894ff3d35af95c97663acf603903728780eff53","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Make switch detection look at all candidates.\n\nWhen switch detection looks at a disjunction, it loops over all the nonlocal\nvariables that are already-bound on entry to the disjunction, to see whether\nthe disjunction is a switch on that variable. We used to stop this search\nas soon as we found what looked like an good candidate, but in some\nrare cases, (a) committing to this candidate leads to a determinism that is\nnot as tight as possible, and (b), if we chose to transform the disjunction\ninto another candidate, the resulting determinism *would* be as tight\nas possible.\n\nThe fix is to always gather all the candidate switches, rank them in order of\nhow likely they are to yield a tight determinism, and choose the candidate\nwith the highest rank. Doing this requires computing whether *each candidate\nswitch* is a can_fail switch, whereas the old approach required computing\nonly whether the *chosen switch* is a can_fail switch.\n\nWhile avoiding this small amount of extra computation was probably a good\ntradeoff in the mid 1990s, it isn't anymore. The new code is also simpler\nand clearer, for two distinct reasons. One is that committing to a good-enough\ncandidate as soon as we find it required mixing the code that *finds* candidate\nswitches with the code that *acts* on the selected candidate. The second is\nthat the old code could choose the best possible switch (none of whose arms is\nreachable due the switched-on variable's initial inst, and which can therefore\nbe translated to nothing more than just `fail') only by accident, never by\ndesign, since it tested which arms are reachable only *after* it has already\nselected the variable to switch on.\n\nThis diff fixes Mantis bug #414.\n\ncompiler/switch_detection.m:\n    As above.\n\ntests/valid/bug414.m:\n    The test case for the bug.\n\ntests/valid/Mmakefile:\n    Enable the test case.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/c894ff3d35af95c97663acf603903728780eff53"},{"sha":"213fba5f48964e326be990388914683b08bff8eb","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Speed up set_tree234.list_to_set.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/213fba5f48964e326be990388914683b08bff8eb"},{"sha":"ab9234dc63cc8fb173fa6d78542c8e6848544204","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Speed up merge sort.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/ab9234dc63cc8fb173fa6d78542c8e6848544204"},{"sha":"a62db7abfd9a33f9bfb8b7882c910125af6594f0","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Automate finding the largest modules for speedtest.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/a62db7abfd9a33f9bfb8b7882c910125af6594f0"},{"sha":"d2720aa67b3deb64fd19b150d4b79ef2dbeb7acd","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Add align_right as an extras program.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/d2720aa67b3deb64fd19b150d4b79ef2dbeb7acd"},{"sha":"26807be53f6f57de5d96303a49880470edf64eb9","author":{"name":"Paul Bone","email":"54f65660711c038b3360dd7288dc12347ae58ba3@bone.id.au"},"message":"Add maybe_default/2 standard library function\n\nlibrary/maybe.m:\n    As above.\n\nNEWS:\n    Announce the new addition.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/26807be53f6f57de5d96303a49880470edf64eb9"},{"sha":"388887396a437d5ea5b653513b4b2f69fab796a7","author":{"name":"Zoltan Somogyi","email":"be27ab1aae8ef2467e371539c22d91961b86aef2@runbox.com"},"message":"Improve library/pretty_printer.m.\n\nPut related types and predicates together. Put the groups of related types\nand predicates into a meaningful order. Put the definitions in the\nimplementation section into the same order as their declarations in the\ninterface section.\n\nImprove the comments on some of the exported types, functions and predicates.\n\nAdd some notes about how the interface could be improved, without actually\nchanging the interface (for now).\n\nChange the representation of the indent stack to a bespoke type. (Doing this\ntakes *fewer* lines than properly documenting the old setup.)\n\nConvert some code that used ^elem notation to use plain predicate calls\ninstead.\n\nRename an internal predicate to avoid unnecessary ambiguity.\n\nTurn an internal function into a predicate to simplify calls to it.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/388887396a437d5ea5b653513b4b2f69fab796a7"},{"sha":"ec6b3fecb46ac7765a8759af75be6a2e1e5d7b1e","author":{"name":"Julien Fischer","email":"0c1476256b774ba62eb9e2e772232bcb4a2ce105@gmail.com"},"message":"Add some more library predicates.\n\nlibrary/hash_table.m:\n    Add fold2/6 and fold3/8.\n\nlibrary/rbtree.m:\n    Add foldl2_values/6.\n\nlibrary/assoc_list.m:\n    Add the predicate svremove/4, which is like remove/4 but with the\n    arguments in an order more conducive to the use of state variable\n    notation.  Eventually, we should deprecate the current remove/4\n    and re-order its arguments so they match those of the identically\n    named predicates for other types that implement the map ADT.\n\n    Do not module qualify clause heads.\n\nNEWS:\n     Announce the above.","distinct":false,"url":"https://api.github.com/repos/sebgod/mercury/commits/ec6b3fecb46ac7765a8759af75be6a2e1e5d7b1e"}]}
{"actor":{"display_login":"sebgod"}}