{"push_id":1187123171,"size":16,"distinct_size":16,"ref":"refs/heads/master","head":"8e729d1dcbe8586066660a7251386e17713a0575","before":"4b6c8578547b9ce3f2559a14eb87f63e7de0315d","commits":[{"sha":"d89c01d9736f5d7f1579768761c439bd22ce32a6","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Add support for \"Pairings\", arbitrary GC roots\n\nThis adds support for the idea of arbitrary REBSER nodes serving as GC\nroots.  At the moment the roots live in the same pool as the other\nREBSERs, which leads to the somewhat undesirable \"two pass\" nature of\nthe GC...visiting all nodes first to find roots, and then later for\nthe sweeping phase.  However, review of GCs and the problems with the\ncurrent one suggests that a multiple pass or \"copying\"/\"incremental\" GC\nwhich does more passes and is \"slower but butter\" is likely the best\noption anyway, as the idea would be to not \"stop the world\".\n\nIt also adds support for a new \"Pairing\" concept, which is two REBVALs\nthat fit inside one REBSER node.  These are being tested with Ren-Cpp\nas the API handles, acting as GC roots with the second REBVAL being\n\"meta\" information about the value.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/d89c01d9736f5d7f1579768761c439bd22ce32a6"},{"sha":"7916f39b2a8ae3cbef4c9d464302f7d62b1a68d7","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Fix help for undocumented functions, MAYBE\n\nThis fixes some problems that had gotten into the HELP of bare functions\nthat had no meta information, e.g. help on `f: function [x] [x]`.\n\nIt also changes the older IS experiment to be MAYBE, as a parallel to\nENSURE, and changes ENSURE to use MAYBE in its implementation.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/7916f39b2a8ae3cbef4c9d464302f7d62b1a68d7"},{"sha":"ed9a9edf59d722a300eacaddec83e0f760c57855","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Eliminate most `#pragma pack` specifications\n\nSplitting one piece of the payload out as the \"extra\" leads to correct\nstructure packing without the need of a compiler-specific pragma.\n\nBeing able to leave it out carries the benefit of being able to leave\nout long-winded explanations of why it is there, as well as not using\na non-standard compiler feature.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/ed9a9edf59d722a300eacaddec83e0f760c57855"},{"sha":"4155f93019a4a4691a5c9a39f109cfb8fe1fd40c","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Get rid of GUESSED, lighten up some comments\n\nThere are very few instances remaining of GUESSED, and the behavior if\nthey guess wrong will be the same as an incorrect SPECIFIED.  So\ngetting rid of the definition in the header is worth it to keep from\nmuddying the API.\n\nAlso deletes some old or too-heavy comments related to binding.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/4155f93019a4a4691a5c9a39f109cfb8fe1fd40c"},{"sha":"5263ba321e7a1a8fde4e7ff0f4541f71d6d6212a","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Reorganize Scan_Block, rename for consistency\n\nThis does a few surface level improvements of the source for Scan_Block,\nincluding changing it to \"Scan_Array\" so that it's clear that it's\nfor reading paths, blocks, and groups.  Also renames \"Scan_Source\" to\n\"Scan_UTF8_Managed\" to be more informative that the input needs to\nbe UTF8, and that the resulting array will be pre-managed by GC.\n\nAlso uses inline initializations in scan error, and moves the skip to\nbyte routine to the C defs so it can be inlined.\n\nIncludes a missing IF=>MAYBE fix.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/5263ba321e7a1a8fde4e7ff0f4541f71d6d6212a"},{"sha":"4c0e2c27409d24c737b84b3fc4ab7b34de3a374e","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Put DUMP-OBJ back into %mezz-help.r\n\nAlthough it was called \"internal\", it was actually being used by the\nhelp (when passed an unbound word).  Deleted without noticing that fact.\n\nRestores the routine with a note about its usage.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/4c0e2c27409d24c737b84b3fc4ab7b34de3a374e"},{"sha":"7f1ba561905f4a6d728744fe341b1d3eb94e000e","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Very basic prettiness fixes to HELP\n\nAs a start on not neglecting HELP, this does a few extremely basic\nchanges...like using spaces instead of tabs (tabs were 8 spaces and\nwasting screen real estate, also they are tabs).  It also puts the\nnotes for a parameter on its own line, and moves the type notes onto\nthe same line as the parameter, in brackets and not parentheses.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/7f1ba561905f4a6d728744fe341b1d3eb94e000e"},{"sha":"7a62af3b93761ed2cbdaaa8a33ea37cada8d52c4","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Patch for chained functions on stack after R_REDO_CHECKED\n\nThe data stack is used to store the list of refinements, as well as\nchanging those refinement words into pointer entities to locate out\nof order refinements being used.  But after the parameters are checked,\nit's used to hold functions that are chained.\n\nHowever, it's necessary for adapted functions to recheck the arguments\nafter running their injected code.  They do this by jumping up to the\nargument loop.  There are no refinements to process at this point--so\nthe presence of the functions should just be ignored.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/7a62af3b93761ed2cbdaaa8a33ea37cada8d52c4"},{"sha":"0028c0feb5cd43b6a67f2d7636cb4862b33ef357","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Fix stray IS in R3-Legacy\n\nUsages of IS were hard to fix, given the commonality of the word \"is\"\n(even just in .r files).  This corrects another stray instance, with\ndebug output fixes and comments thrown in (to keep them from confusing\na more complex commit).","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/0028c0feb5cd43b6a67f2d7636cb4862b33ef357"},{"sha":"c68f715cd7b7414fc49f524f2973f2d2b52af5f6","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Simulate implicit termination for all arrays\n\nR3-Alpha required all arrays to have a full REBVAL-sized \"END!\" cell\nin order to indicate termination.  Hence instead of paying for\nN x sizeof(REBVAL) for an array of length N, it was instead\n(N + 1) x sizeof(REBVAL).  Ren-C sought to help reduce this overhead,\nwhich is significant for large numbers of small arrays...by allowing\nany pointer-sized value with a low bit of 0 to signal a terminator.\n\nThough this has been tested on length 1 \"singular\" arrays that fit in\nREBSER nodes, applying the method to dynamic arrays (or arrays that can\njust resize from singular to dynamic) required changes so that it was\nnot assumed that a full cell's width of data is present in the last\ncell of an allocation's \"rest\".  This preloads that spot with an\nEND marker that is unwritable in the debug build.\n\nThis also unifies termination techniques in general, to try and reduce\nthe chance for errors--including singling out those cases of setting\nlengths that deliberately don't terminate for performance reasons,\nvia a separately named routine.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/c68f715cd7b7414fc49f524f2973f2d2b52af5f6"},{"sha":"82de750051182678740d1ca1a2db4b74aaa6f25d","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Remove seemingly unused code from scheme handlers\n\nThere was code for handling \"port action maps\", which seemed to be an\nalternative for the switch statement in native scheme handlers.  A\ncomment said:\n\n    static const PORT_ACTION File_Actions[] = {\n        SYM_OPEN,     P_open,\n        SYM_CLOSE,    P_close,\n        0, 0\n    }\n\n    Register_Scheme(SYM_FILE, &File_Actions[0], 0);\n\nBut no instances of these existed, they all took a \"PAF\" (Port Action\nFunction) instead of one of these maps.\n\nDeleted in attempt to further pare down the legacy code.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/82de750051182678740d1ca1a2db4b74aaa6f25d"},{"sha":"2c7d58f329108d79ef503b253214c57fddafb19b","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Fix TUPLE! crash after payload switch, round money\n\nThis addresses two test failures that had crept in after the payload\nfix that were low on the priority list (MONEY! and TUPLE!).\n\nTuples can now be a maximum size of 7 elements instead of 10.  Hardcoded\nnumbers of \"10\" had to be adjusted.\n\nRounding money did some interpretation of the ROUND/TO amount, so that\nthe type of the /TO argument would influence the type of the result.\nSo rounding $10.51 to 0.1 would give you 10.5, for instance.  Not clear\nquite how the code was supposed to work before, but this makes it\nseem to work and is clearer.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/2c7d58f329108d79ef503b253214c57fddafb19b"},{"sha":"18a8030a3d579e2a7e3dde12a49335969aaf631f","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Return PARSE to TRUE/FALSE, elaborate /? names\n\nAn experiment was run for a while which would return the input from\nPARSE if it matched (instead of just TRUE) and then blank if it did\nnot match (instead of FALSE).  Then a PARSE? was offered that would\ndo only TRUE and FALSE results, limiting the return results to that\nif someone tried to use a RETURN instruction inside the PARSE.\n\nThis was tried before CHAIN and the other function composers, so it\nresulted in a duplication of PARSE's interface.  The idea had a bit of\nan ergonomic problem in that it made the results of PARSE harder to\nunderstand than TRUE/FALSE in the common case.  Given COLLECT as a\nfuture possible direction, it may also confuse matters further.\nAdditionally, the usefulness of a return result the caller already has\nis likely a poor choice...better would be something that parse knows\n(e.g. the position of a failure).\n\nThis uses CHAIN to make a checking version to enforce the TRUE/FALSE\nresult, and restores the common baseline of TRUE and FALSE until more\nthinking has been put into it.  It also removes /ALL from the non\ncompatibility PARSE.\n\nThis also takes the other /? refinements for functions and gives them\nmore descriptive names.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/18a8030a3d579e2a7e3dde12a49335969aaf631f"},{"sha":"af5b493a75770305c2d635f0d3e14cea46e0c844","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Fix stuck bind table entries on func spec failure\n\nThough a \"binding table\" doesn't exist anymore, an analogous thing\nexists to allow scribbling properties onto canon symbols (which would\nneed to be done via atomics in a threaded system).  However, all\nannotated words must be un-annotated before a fail() happens -or-\nthe BUF_COLLECT buffer must contain entries of what to clean up.\n\nProcessing function specs in Make_Paramlist_Managed merged together\ninto a single phase for processing strings/types/words, but reused\nthe binding table mechanic to check for duplicates.  In that process\nit could fail mid-spec-analysis, leaving stray entries in the table.\n\nThis does the duplicate check at the end, when the only failure left\nto give back is the failure of the duplication itself...and cleans up\nbefore giving that error.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/af5b493a75770305c2d635f0d3e14cea46e0c844"},{"sha":"d54974090ee0b3ae3802fe45b07d47620ca90a8b","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"REDUCE+COMPOSE use safe enumeration, kill unused refinements\n\nThis updates REDUCE and COMPOSE to create a single frame for the course\nof their evaluations, instead of starting one and tearing it down again\neach time.  In the process they also lock the input array to protect\nagainst crashes for the duration of their operation.\n\nThis also gets rid of the /ONLY and /NO-SET options of REDUCE, which\nwere not used and not being tested.  If such features are needed, they\ncan be reconsidered in general with the idea of a REDUCE that might\nneed other \"hooks\" (something like a collecting REDUCE-EACH)","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/d54974090ee0b3ae3802fe45b07d47620ca90a8b"},{"sha":"8e729d1dcbe8586066660a7251386e17713a0575","author":{"name":"Hostile Fork","email":"a65c6e78dc3f50f9f27981507e78fe0d6e0c9073@gmail.com"},"message":"Fix VARARGS! GC bug via simplification\n\nWhether a VARARGS! sources from an actual FRAME! (which can go off the\nstack) or a BLOCK! serving as a parameter manufactured parameter pack\n(which it protects), the source is able to chain to a \"subfeed\" of\nvalues to exhaust before resuming from its own data.\n\nThe GC was attempting to protect the subfeed in the FRAME! case, when\nthe frame already protects it.  It wasn't getting the logic right, but\nrather than improving the logic this takes it out--since there is no\nneed to doubly protect it.","distinct":true,"url":"https://api.github.com/repos/codebybrett/ren-c/commits/8e729d1dcbe8586066660a7251386e17713a0575"}]}
{"actor":{"display_login":"codebybrett"}}