{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":783352003,"defaultBranch":"main","name":"zymux","ownerLogin":"Larmix0","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-04-07T16:50:03.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/143609741?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1712508663.0","currentOid":""},"activityList":{"items":[{"before":"54e403b75d41896c81429d97291fa23eab520ba0","after":"527192ebc5b659aa139272711ebad286178eb809","ref":"refs/heads/main","pushedAt":"2024-06-22T18:43:22.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add the hash table files and hashing functions\n\nCreate hash table files and write the functions for\nhashing the types that have currently been implemented in Zymux.","shortMessageHtmlLink":"Add the hash table files and hashing functions"}},{"before":"8f4e73b48dcec14f3516e81d9482bb68858dab7b","after":"54e403b75d41896c81429d97291fa23eab520ba0","ref":"refs/heads/main","pushedAt":"2024-06-21T11:59:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add some tests for the VM","shortMessageHtmlLink":"Add some tests for the VM"}},{"before":"90dbcac5e7987354196664f4e2ba237089ac167f","after":"8f4e73b48dcec14f3516e81d9482bb68858dab7b","ref":"refs/heads/main","pushedAt":"2024-06-19T14:45:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Move free_tokens_contents() code into free_lexer()\n\nPut the code of free_tokens_contents() inside the free_lexer() function\nbecause it's the only place that frees to contents of the tokens,\nas the tests now no longer allocate content for tokens after\nthe previous few commits.","shortMessageHtmlLink":"Move free_tokens_contents() code into free_lexer()"}},{"before":"10125c25fb8c48b5971a7865d2e6c0e37e6ebb9c","after":"90dbcac5e7987354196664f4e2ba237089ac167f","ref":"refs/heads/main","pushedAt":"2024-06-19T14:36:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Better and more asserts for test_equal_obj().","shortMessageHtmlLink":"Better and more asserts for test_equal_obj()."}},{"before":"a193b14c27c9f9bedf9ddb5c126926b26dd66181","after":"10125c25fb8c48b5971a7865d2e6c0e37e6ebb9c","ref":"refs/heads/main","pushedAt":"2024-06-18T14:51:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Fix create_string_token not allocating enough\n\nFix a bug where create_string_token didn't allocate an extra byte\nto account for the NUL terminator for the string.","shortMessageHtmlLink":"Fix create_string_token not allocating enough"}},{"before":"c5257efed400cbaf0a56ac29d0fc42b834a644ba","after":"a193b14c27c9f9bedf9ddb5c126926b26dd66181","ref":"refs/heads/main","pushedAt":"2024-06-18T14:48:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add token creators and fix some lexer/token bugs\n\nAdd functions for creating synthetic tokens, which include ones\nfor integers, floats, and string literals, as well as a default one\nfor non-literals (ones that don't store union values in them).\n\nAlso, fix 2 bugs. One is equal_token() comparing the length of the\nposition in the source. This is a bug because synthetic tokens\ndon't have a position in the source yet are considered equal\nto the ones that do.\nAnd, fix a bug where append_lexed_string() stored stringVal's length\nwithout accounting for the NUL character in the length of the buffer.","shortMessageHtmlLink":"Add token creators and fix some lexer/token bugs"}},{"before":"bea7c8f00a1aa0ee0e7a4720fd9ef838279f997c","after":"c5257efed400cbaf0a56ac29d0fc42b834a644ba","ref":"refs/heads/main","pushedAt":"2024-06-17T18:13:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Remove redundant TODOs\n\nRemove some TODOs that have already been implemented.","shortMessageHtmlLink":"Remove redundant TODOs"}},{"before":"b6a51469d87ee8030204e9b7cd73eb77013baea1","after":"bea7c8f00a1aa0ee0e7a4720fd9ef838279f997c","ref":"refs/heads/main","pushedAt":"2024-06-14T15:15:51.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Allow equality between integer and float objects\n\nequal_obj() now allows equality checks between integers and floats\nas if they were the same type. This allows things like 2 == 2.0\nto evaluate to true, as is usually expected by users.","shortMessageHtmlLink":"Allow equality between integer and float objects"}},{"before":"594cc2fdd38887ede05893ce80141383956a756a","after":"b6a51469d87ee8030204e9b7cd73eb77013baea1","ref":"refs/heads/main","pushedAt":"2024-06-12T11:36:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Refactor read_number() to be without switch\n\nMake read_number() use a single, universal for loop\ninstead of using a switch case and manually reading each byte\ndepending on the size.","shortMessageHtmlLink":"Refactor read_number() to be without switch"}},{"before":"8d5bbbb24acabc1d98795bfc923b8b519ca54c82","after":"594cc2fdd38887ede05893ce80141383956a756a","ref":"refs/heads/main","pushedAt":"2024-06-11T20:39:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Split program.c.h into itself and allocator.c/.h\n\nPut the memory allocation functionality/abstraction which\nwas in program.c/.h into the new allocator.c/.h files.\n\nMake mirroring test_allocator.c/.h files for the unit tests\nof the allocators.\nMove into it the memory tests which were in test_program.c/.h","shortMessageHtmlLink":"Split program.c.h into itself and allocator.c/.h"}},{"before":"6444a5881f5efc70ec80aa6fc70a8bbcb486524d","after":"8d5bbbb24acabc1d98795bfc923b8b519ca54c82","ref":"refs/heads/main","pushedAt":"2024-06-11T14:58:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Allow string concatenation\n\nThe VM now supports \"+\" between 2 strings at runtime.","shortMessageHtmlLink":"Allow string concatenation"}},{"before":"4b9c6de23c4ec42414e2d2a50af6d2f075c507ad","after":"6444a5881f5efc70ec80aa6fc70a8bbcb486524d","ref":"refs/heads/main","pushedAt":"2024-06-11T13:30:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Return new objects when passing same type to \"as\"\n\nEnsure that \"as_{x}\" functions return a new object,\neven if the passed/converted object is of the same type that\nthe function converts to. Like a string being passed to as_string().\n\nThis convetion is so that mutable objects end up creating a copy,\ninstead of returning the same object, which may not be what is expected.","shortMessageHtmlLink":"Return new objects when passing same type to \"as\""}},{"before":"17dbd1fcdd26e375848161bae57ad862423b41c1","after":"4b9c6de23c4ec42414e2d2a50af6d2f075c507ad","ref":"refs/heads/main","pushedAt":"2024-06-11T12:57:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Fix func to string conversion\n\nMake function to string conversion work, where previously\nit used to just allocate the memory without even copying the string,\nwhen it can just recreate a new string without even allocating.","shortMessageHtmlLink":"Fix func to string conversion"}},{"before":"592b534c9832bd480ba127ff178b5ceb9f6604d4","after":"17dbd1fcdd26e375848161bae57ad862423b41c1","ref":"refs/heads/main","pushedAt":"2024-06-10T20:29:46.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Make user error reporting more consistent\n\nMake user errors (at lexing, parsing, compiling, and interpreting)\nuse a more consistent way/system of error reporting.\n\nThis includes a similar function interface for all of them,\nand being able to provide formatted string messages.","shortMessageHtmlLink":"Make user error reporting more consistent"}},{"before":"bc6dc6431e6979cc4022a25ee0ddf714fcee28ff","after":"592b534c9832bd480ba127ff178b5ceb9f6604d4","ref":"refs/heads/main","pushedAt":"2024-05-30T15:51:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Refactor the VM's binary macros.\n\nChange BIN_OP() and BIN_OP_BOOL() from taking a character\nfor a built in C operation then performing it,\nto taking the number or boolean result of the operation itself\nwhich was done on the objects.\n\nThis makes its usage a bit more verbose, but it gives us flexibility\non what kind of operation is performed.\n\nFor example, it can now be a built in character operation in C,\nor an operation like exponents which requires a function.\nThe previous implementation limited it to character operations,\nso the operations that aren't built in and require a function had\nto manually be implement.\n\nAlso, modify the names of BIN_OP() and BIN_OP_BOOL().","shortMessageHtmlLink":"Refactor the VM's binary macros."}},{"before":"a0f94f1be71dadc0161d3c226643e733456d726f","after":"bc6dc6431e6979cc4022a25ee0ddf714fcee28ff","ref":"refs/heads/main","pushedAt":"2024-05-29T09:30:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Link and utilize math.h instead of remaking it\n\nPut the \"-lm\" in the Makefile compilation to link with\nthe math standard library, and utilize its built in functionalities\ninstead of trying to replicate them by hand just to avoid linking.","shortMessageHtmlLink":"Link and utilize math.h instead of remaking it"}},{"before":"6abe2c4e1a61f97355beb5ac2076afd886b3c074","after":"a0f94f1be71dadc0161d3c226643e733456d726f","ref":"refs/heads/main","pushedAt":"2024-05-25T20:04:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Change indents from tabs to 4 spaces\n\nWhen the language itself prints an indentation\n(like when printing an error or a debugging message),\nwe currently use 4 spaces instead of a tab for indenting.\n\nAlso, indentation is now done with the INDENT macro for flexibility.","shortMessageHtmlLink":"Change indents from tabs to 4 spaces"}},{"before":"859df924e083b2e8437b4e873013b7935839370d","after":"6abe2c4e1a61f97355beb5ac2076afd886b3c074","ref":"refs/heads/main","pushedAt":"2024-05-25T10:04:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Make char buffers not use dynamic array interface\n\nDisconnect char buffers from the dynamic array interface\nprovided in data_structures.h.\n\nThe reason for this change is to disallow us from accidentally\nusing the functionalities in data_structures.h on a char buffer,\ninstead of the ones in char_buffer.c/.h because that would cause\nthe buffer to not be NULL terminated automatically after operations.\n\nAlso, refactor data_structures.h a little to be more flexible,\nand allow other manually written data structures (like the VM's stack)\nto use the new INCREASE_CAP macro instead of manually writing\nthe increase for each one of them.","shortMessageHtmlLink":"Make char buffers not use dynamic array interface"}},{"before":"59b9fde5ff2d723b581ca047400c0086f1317e65","after":"859df924e083b2e8437b4e873013b7935839370d","ref":"refs/heads/main","pushedAt":"2024-05-24T16:13:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add basic runtime errors\n\nAdd a runtime erroring system that isn't that clean, but works for now.\nThis means it'll be changed for something structurally better later.\nAlso, errors during other stages of Zymux will probbaly be changed too.","shortMessageHtmlLink":"Add basic runtime errors"}},{"before":"c45f9ee2df53b489f2470ce285d708a85794d434","after":"59b9fde5ff2d723b581ca047400c0086f1317e65","ref":"refs/heads/main","pushedAt":"2024-05-20T13:15:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add compiling and interpreting from source\n\nMake some helper functions to give us the options to either\nget the compiled function from a source,\nor to return an unexecuted VM from a source,\nor to even fully execute a source string.\n\nThese options should be useful when we need to recompile\na file with the bytecode debug option on after a runtime error,\nand when executing imports with more VMs later.","shortMessageHtmlLink":"Add compiling and interpreting from source"}},{"before":"78d4a064833ca4a266e2deaedbdae5272545d98a","after":"c45f9ee2df53b489f2470ce285d708a85794d434","ref":"refs/heads/main","pushedAt":"2024-05-18T23:18:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Document the newest opcodes\n\nDocument the new opcodes that were added in docs/opcodes.txt,\nand make some mild changes to the documentation of other\nopcodes for more clarity.\n\nAlso, add a \"basic information\" section to cover\nhow the VM uses instruction sizes and data types.","shortMessageHtmlLink":"Document the newest opcodes"}},{"before":"558141cacca17a9359cc01435e9f9f6bc6bfa871","after":"78d4a064833ca4a266e2deaedbdae5272545d98a","ref":"refs/heads/main","pushedAt":"2024-05-18T20:25:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Refactor includes (more consistency)\n\nHave generally more consistent includes by ensuring all\nC standard library includes use <> brackets,\nwhile files within the project are included with double quotes.\n\nAlso remove includes that are present both in the header and source,\nas they're practically redundant since the source includes the header.","shortMessageHtmlLink":"Refactor includes (more consistency)"}},{"before":"d983e952bf88a071310d9c5fdc60c9e8fe7450a5","after":"558141cacca17a9359cc01435e9f9f6bc6bfa871","ref":"refs/heads/main","pushedAt":"2024-05-18T20:02:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Make unreachable error abort instead of exiting\n\nAdd an abort after printing the unreachable error.\nThis is because a normal exit would make the compiler warn us about\nnot returning anything after the unreachable error is called.\n\nAlso, refactor some switch statements so that their indentation\nis more consistent.","shortMessageHtmlLink":"Make unreachable error abort instead of exiting"}},{"before":"73efdc05cd634ed2738ae3d926f7739b5ba715c1","after":"d983e952bf88a071310d9c5fdc60c9e8fe7450a5","ref":"refs/heads/main","pushedAt":"2024-05-18T19:07:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Better const-correctness and static-correctness\n\nAdd the const keyword to some constant variables\nthat previously didn't have it.\n\nAdd the static keyword to certain functions not used by other files,\nbut didn't have the static keyword.","shortMessageHtmlLink":"Better const-correctness and static-correctness"}},{"before":"6f3881537a0adecbb868f621aa7d9e5d78b1ee33","after":"73efdc05cd634ed2738ae3d926f7739b5ba715c1","ref":"refs/heads/main","pushedAt":"2024-05-17T22:37:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Better parenthesizing in macros\n\nRemove unnecessary expansion parentheses in some macros,\nlike parenthesizing a macro argument before passing it to a function.\n\nAdd a few expansion parentheses in certain\nplaces that were previously missing.","shortMessageHtmlLink":"Better parenthesizing in macros"}},{"before":"207c7599644617975bdd2f3f3416087a4ce89e60","after":"6f3881537a0adecbb868f621aa7d9e5d78b1ee33","ref":"refs/heads/main","pushedAt":"2024-05-17T17:57:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Refactor type conversion macros\n\nMake AS_PTR() take the type then the value to convert\ninstead of the opposite ordering.\n\nAdd AS_NODE() and AS_OBJ() macros for easy type casting to the\nbase type of objects/nodes without having to pass the type to AS_PTR()\nsince they're used frequently.","shortMessageHtmlLink":"Refactor type conversion macros"}},{"before":"46599e7e20e7bb5438b7e6c9f25a13f3afdded15","after":"207c7599644617975bdd2f3f3416087a4ce89e60","ref":"refs/heads/main","pushedAt":"2024-05-15T14:04:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Emit/read longer numbers, and use u32 for arrays\n\nMake the emitter write up to 4 byte integers,\nand make the number reader read up to that amount as well.\n\nChange the length and capacity members of dynamic arrays to u32.\nThe reason was both to optimize the sign out, but also\nfor uniformity with the number emitter and reader.","shortMessageHtmlLink":"Emit/read longer numbers, and use u32 for arrays"}},{"before":"c233c4a343dd3495c84941d5827ff4b1e41ae07c","after":"46599e7e20e7bb5438b7e6c9f25a13f3afdded15","ref":"refs/heads/main","pushedAt":"2024-05-13T23:47:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Make functions have a string object name\n\nMade functions now hold their name with the new string object.\nThis also allows us to properly print functions,\nand convert them to strings.","shortMessageHtmlLink":"Make functions have a string object name"}},{"before":"3fcf08361bdc05123bdd42349fd6c18cd8e27cba","after":"c233c4a343dd3495c84941d5827ff4b1e41ae07c","ref":"refs/heads/main","pushedAt":"2024-05-12T23:26:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add boolean objects and comparisons\n\nExecute true/false boolean keywords, and add boolean objects.\nAlso, parse, compile, and interpret comparisons and equality operators.","shortMessageHtmlLink":"Add boolean objects and comparisons"}},{"before":"691ded2de35f63ef7a773bb5399f6c42115728b0","after":"3fcf08361bdc05123bdd42349fd6c18cd8e27cba","ref":"refs/heads/main","pushedAt":"2024-05-12T00:24:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Larmix0","name":"Larmix","path":"/Larmix0","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/143609741?s=80&v=4"},"commit":{"message":"Add other binary operations and float objects\n\nMake a macro for most arithmetic binary operations\n(except ones not in C like exponentiation). Then, use it for other\narithmetic opcodes in the VM.\n\nAlso, add float objects so we can have Zymux's arithmetic handling\nboth data types already.","shortMessageHtmlLink":"Add other binary operations and float objects"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEbGnkpwA","startCursor":null,"endCursor":null}},"title":"Activity ยท Larmix0/zymux"}