{"push_id":2842893923,"size":7,"distinct_size":7,"ref":"refs/heads/master","head":"a413105a5dc4741ccd1c364cc82609d2aa25f6c5","before":"7328af20a1921d9258a60803ee5367da97a6082e","commits":[{"sha":"a754efc54223240c351d14869f32cd90ada958c1","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4522\n\nDon't use trace infrastructure if you're just going to immediately exit.","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/a754efc54223240c351d14869f32cd90ada958c1"},{"sha":"10ad628f73a02697763ad82a69a91ffacf5edb47","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4523 - Give up on pass-through phases\n\nI'm going to continue using them for now, but I'm fairly certain now\nthat they're just a temporary device to help rapidly-prototype ideas.\n\nThe reason: there's just too many ways to abuse low-level features, and\nit ends up taking too much code to disallow things soon after you allow\nthem.\n\nNew plan: stop trying to write checks, just treat them as temporary\nconventions for now. Goal is now to just get the core sequence of passes\nnailed down. Then we'll start reimplementing them from the ground up.\n\nFirst implication of this new plan: ripping out most existing checks.\nI'm still going to eventually build type checks. But no degenerate\nchecks for code just being too low-level.\n\n(This decision is the outcome of a few days of noodling over Forth and\nhttps://mastodon.social/@akkartik/100549913519614800.)","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/10ad628f73a02697763ad82a69a91ffacf5edb47"},{"sha":"b5737fc0efcd929dc6a66afd0b9537b44ce1290a","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4524","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/b5737fc0efcd929dc6a66afd0b9537b44ce1290a"},{"sha":"d2c239e1fa07f8d72f4ec5e27e56abbb4395306e","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4525","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/d2c239e1fa07f8d72f4ec5e27e56abbb4395306e"},{"sha":"51e3e6cec3aea2589513e946f187d9c4bc8eadb3","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4526\n\nNew levels should be added at the top of list of transforms rather than\nbottom. See layer 29.","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/51e3e6cec3aea2589513e946f187d9c4bc8eadb3"},{"sha":"f1b3d7b96749165d771b279b56cc05447b7db3e0","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4527 - reading commandline arguments\n\nThe new example ex9 doesn't yet work natively.\n\nIn the process I've emulated the kernel's role in providing args, implemented\na couple of instructions acting on 8-bit operands (useful for ASCII string\noperations), and begun the start of the standard library (ascii_length\nis the same as strlen).\n\nAt the level of SubX we're just only going to support ASCII.","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/f1b3d7b96749165d771b279b56cc05447b7db3e0"},{"sha":"a413105a5dc4741ccd1c364cc82609d2aa25f6c5","author":{"name":"Kartik Agaram","email":"7d956a6104bb41ca5c78fe7ac803d07753e701a9@akkartik.com"},"message":"4528 - commandline arguments working natively\n\nTurns out I had totally the wrong idea. The stack at the start of the program\ndoesn't contain 2 words, one for argc and a second for argv that must then\nbe dereferenced to get to its contents (each a pointer to a string). It\ncontains a word for argc, one for argv[0], another for argv[1], and so\non.\n\nMany thanks to Jeremiah Orians and the #bootstrappable channel on freenode\nfor showing me https://github.com/oriansj/mescc-tools/blob/master/test/test5/exec_enable_amd64.M1\nwhich set me straight. I could just pop the args like that example does,\nbut it seems slightly more elegant, given the current calling convention,\nto assume the imaginary caller handles the popping.","distinct":true,"url":"https://api.github.com/repos/akkartik/mu/commits/a413105a5dc4741ccd1c364cc82609d2aa25f6c5"}]}
{"actor":{"display_login":"akkartik"}}