Revision 0960538a-bf81-47b5-b759-d0bc49bd8d19 - Code Golf Stack Exchange
# [Rattle], 54 bytes
<!-- language-all: lang-rattle-->
Fizz&Buzz|!sSs1S1s2P3[g+R1bs%3[0b1b^0]g%5[0b2b^0]B]100
[Try it online!][TIO-kdxbptp3]
[rattle]: https://github.com/DRH001/Rattle
[TIO-kdxbptp3]: https://tio.run/##7Txrk9s2kt/1KzDU2RZn9B7HDyWTsePYd67ail129vaDVt5QFCRxTZE0QXo8Pp//erYbDxIAQWomyd7W1d1UeTwCGo1Gd6O70Wgouy72aXL@a5@MTkckTDdRsluQstiOHmFLz/O83rOcBgXdkDQhP@9L8rTckdk5mT5a3H@0OH9I5tP5tNd7EpSAKV@QH4MkonHvyUeasyhNFmQ6no2nHBH84H9FSjbpokfgh/86BO8pCci2TMICRhDoB2TpISiiMIjja8KKNAeIhAR5HlyTKCEHekjza2jakEP6kZJiT0mWRklBcxyOHxP6qSAfg7ik9SQ0ZhSwwWoONCnYJUlz6LheU/L3khUkSQuj97vRiFzto3BPQpw8LEjAbBxkwDFHBSmZpHG3jYPdpS@XjL8/lFH4nmR5usuDA9OWziglz/797XOyBUq20efP6/LzZ95zRSJG9jSOU3KV5vGGN345GbGz79ly992dr8tp9mG1G7HvV1@zOQn3NHzPcO2IMtoCk7KyQBxZHh0o2RdFxhaTCUiY7tJ4O4YVhO/pp3AfJDs6DtPD5ENJGfKfTb55@GD2cBKxUbGHX0l5WNN8FIw4JkHHcvphtcxWUxAkhVn3SOttZngwf3g@n0SHLOZcBORFDvozOgThPkrkJMD14rZo5@fTCeN4RzB6JFlOBiBauiBfMuTIT69@BnVD5LJ7SNY0DFB@qDiCczsKss2CnIHiX@0pqFwAegejUUnoISuufSHGnlLtDd2KAQOk1dekvIvTdRBzDPpnpfBMb8xpBrtNb0nLAgh6WjxPNnpzkWavtm@RGXorbpVgR/UmuS/0pjhNs2dpWTX3tXZAmRvzh2Weg4yepYcD7LeXyYZ@snFZpIUClNlgf4pY4YJ7lmbX9iLo5iludqOZhmkCzTu9EbbbC9huxoJzWPAP5XZrLlpCzmu5OFZGLshUsKTihdkk2VY1KqujPksBwOfldEVOyWwq2mtxVaCKJQi7qgbLhWuNatnQ9FMqN4dcDDS9CMAg6W1zo1FjRo2y/qUpF3T/nEtrqUtGTSt4sEmTe7AroTMGe5rnac648UrSKws1/3Xv3j3@P99UX3AHfKvUflb9NR/zH/Xxp2/JssAtF2w2uKhSGNo9BScgzHGQU8kr7iyAk2Gt@@QqKvaw2T6RdIvsF06Arbg5x72flWwvRnJbMgQOw77lLm59TYaC3i3Yn4hxg7CNchASGJwcXADNh7VtLcD0g7/a52m524vmgT8mL7c4DmgEkIB4X7wh4eu52sMk4BeRvWA213SLfi0SZtokakxeIYqriNEh8FbgrtkabV2Ucc8ozVRAhN2WUyM07zpQcNNg0qI4BgKkucGJgTaASK5JESFxg2hMyYwP4bB5CUiuopD6ZPQ9YRkNI9zBAdI3xSaBiQHHUW4RChKtlECGGjKbyU9FWgSxb@qI0NWIhtB/gXEIHbMsjoqB963n96QHB1ouJBBsLkvTou0AOK1YIM1v1SshsEsh/uL5uEUvLojnaeCNzSrFqgFUf2Is0DGyOZsBW32QK7PBZyubdCexfIcP6ol9ozenRZkLt2NSa@782mBUlBX59aKPgdiIezWmOUcIg1CXUXXZPi1j2DhUp9W7ywXBilynq4vJ9QfFgbtevRD6iYYDLwA4j5wR11INZNwcsIG/9AJv1dQDwYxPIc2KmqIsYEz6c95WOeda5WaLxUr2Gkzq1bzGLcBVpuDyAon7LikLVBrD1EhwDRaXKpyzaXMe@ccZmTnXVI81iVbWHXogzJHuDz0RJ3oohvkNcOkMXEPkVL45T99WzSER0BVz1cBhNYlvbes@Gh7VKfzEWOtFwyJ7UeMU4IL02VWQ8c/gPMC@xRBWMhIHKuThow3p9TnLykQubiBx1Wvq2/ztK8WpW7rGm3@AJ4shVHSEIN@RmCaDiiGaQjSxs6UDg6Z0LvxnlkJo7OTHCO7PKTAUzzHASnA/wlgM5f/ARtMh0iI0DLFmWzTqm4aqp@JmS6e2qIN6BJ2ljEXrmEIUhFrrTWfz8/vfPHj46PHXX57cfXfp9cldVKWcMh4rBOChglB4RPRRhIHH1fZ0QlElUoCEGKEKMQQP3vFj5SUPMlSXYIXY8RD8m1GbCOYC3gRHgaoJ2RghBTkeVQYo1K0uTWAUHCYG22W0Qih9jQ1bKScdB1kGkuFjTDsv58eOLvck8SxHsxUaShx0Zg7SkOnQTc8lPMug4scpCsA3QOxfKGpdh@Uqb3V2cQT8zcgeJY1xhBEmBDyEDmvjW8UN77i7gn6N7QIafo9hWTEoE4INPc0r1TF4FTebHHcF6dWclzeb89I55/zopPPmrGpqnOXECiQMS1iTght2G6dBgYN83SGbltAwhPo8dsASmMcYF/jXJjySIbVjKVVi5TdNqobkFzcSO3Swhz1xD5Nz@o4JtVCHs2jRF5kJxoeL04k69poidsQ5DoshkJqb2JaVxIt2RNArPpgGwiWyhv@yPDfggfPDdUal@C1dUvb0xyhEc/FfBm7vzFvAQWBoNo68BSvXBToOq@fUWxzKuIiy@NrqmXiLTfQx2lCr/cpb8ATZXzA/ZvW98RY5Hq8OGFv0kelT/gPRA6ZzcqqdnzbRTpzBcKVkMLuApQ/J/AJkGiXAgPMLvgXg4MOTa2sap1dcVBtaBFEMkl6DwwPrh8ENjBAImUkQg4XjidWic@ctwPdZjd95C6lxP6ZXidX5fdX558zqeg1z0OK16LX6MhiWJ/ZMJ94CPZvVGnqLME3CwIZe4hqCvPhTmtpTr7wF@CVHxx0Qa7op49Rq/zfABRGa1ZrjCmS6gzteq//CW9Rb@PmHEgycBfE3xZ7Nf@Kx/2XyVtgNJ3CBC0Ihv5CabPUPkWmA7BmEOk9tWgLQb8zUvEyi4kUV0JowTyXMq4zmgQDoiyR2WrVgBhlT0FuejAZyQn5GTs3t6x2Akdj7qWu@t8i/mIbFizw98DySBbBWov05fV1nhiygH@SynyabNxBQuYEiCfQSeL1r9H7wFh/KqHgtEqzuYy/@/LcWfPJTnm5T@AcfAhRvAOc@ZWLPPF@aTAN4iR9WPgfRog1pBAa1o90e0FgpbPIY0TQEQ3GDEFWGnJ8QMT9Trkdq4voQwm0GQsIAFnEbwNSJgXymecrj0Bqem5RqhLAYJNhiFmdDw@gAYc0gT0sI2Dd@Fx5lpCSiJB1jSFvF5kBxHsEZCIJ50AhCg3CPob3h/HhgegD7Bh5wpvkaZNQZBtueAQ7NKm8y093lAT0GDxgAAGMsGS/Q2Bw0NwahHG4w6NwYJEISx7Ba8JwaEATK4WJqBppW6hxmkoD2AdzKA6lYSM9pkN7RTAvnPOjgnkSHLM3h@JTuqs61xAxtTezD2dT3b0HNZDY9PR2sz2YjuSCg77TR1pMcklvgOHdkdNTKGSvPQxw8aEn2LAH1YjCC32czf6VJTyztD5Vfg1tVKqidUr4DHXIhNS/bzjrVWuoYRRihPm8Yims9kaz@GORRoA6gguEYwwPsLvpIE/IOM25BvrOO0t5/1PeDnrZv1BGgGn95fPyJhQBZiWF64/wuBg3JX9pGTZtD9g46geeGN3BiPx0I1fAdfIXgUjJU3hNUyXNhHaGVkRm/Dk4zNIpan2ALD285mBzdAHQrnNROXxPXxYXFLE2NjHyLZiVMEBRPvTgVJMsVqo@cUG5PtMWoTlwt7@tcbw1d4frnLHt0fNkjvuyGZEW0L5cuPgjiJkqHZavISevk4w3OXF/zVKr@kFRDLHCZWJXwKV67dA8IzBvI38elyYWk1@LSUbM7sVLCLv5OJH8NxygPWUqzEPD0omKs7I5ux1t91E3Z2zHmD@Xw6W/l8OkNOHyqa7DGZX7WkyyWl3UyQkNCh9rNSZSwggYbosoPZMbWSH31OTpDIvin4FdQtI@T@15t/W4snMDElYZzNLmjhJOG01BpG@hdGa7f4XrtFI8JrxLFWijfZ1il4VyPrALid7@KRV2suTEiSzd/B2usGKrm07GoxOZTrXZVZkBnElZIMaNEqsxcPHDBcaXgqUjWlpdtjRegQyGCxT9@bN9byj7DPTZT1naBhRVbmxkzM516AyJaCXET4yLIea7VpYFJnG55bADiZhJByD9OJtMWkYxuKpLHj7Vo7p84SZO3daLLaQ@sYkBr0@qsqueRGU@/XahNCeeJYY94EMualse2Ki5ht41tN8u/qQSsTu363aririswBSVgdNulXXcigzC7qDOoZKLIBfqihFZ1JOKmsScvVU8Iulq8mxMsw3q@KASXKa8fJWOev3pBBqIgCPxqmsTXfJyoVNVLIHmZjt9VU9cSRRytkajWKZJq@kpFC03gH2t4EKWXTr24sWfpPISf8RZDNKK8QYQnMo1rbB5sFLRiaRoZEVNBOYfzMhHFH/cYhi4YmlcDIikvsdI00bwoSIFiBtbekBgcqWsyLDkak3e@qFiKcAaYOko@0hxv8KNtXXZ7i/pEBxu7ahFvgVm/iTTKBdvGqXnVLa4Dzu/3@85tCQqF99j13YWIpNc5VsNiQR6Tcior/hi3O3piwPQHchpNd0xD3Gfvo4yUSRHFItCMU4a3HHJqA1YWNXTVJmBGD28fV57DFR8tV2gDqpyJaZ@MeyxH2ZC8gm@y4H81D9TGqrYLr5oh64AJ28iKcrvVfApYUcxCBdwMY008VksUe1igVbzCbYe859EtB8Viola7wcvDeREh7@bmDwsBj1URd@8@54ZtKSh2lBEcta66s/TAhhfEq6uUOqpu7CFq099msFUMZRYO/OLplU5uZLVWdcLxUsuO/roM4RdvSFSq3vQyMz1j7339VxD3VSOuUSZgkPfkX0HeE408VUlgZzR/i7nPlcvUt3q9Yze09nRVBY@eqJ25imRvumbcYk4Y2/aautxKmIyZqsJEfR7pEg06@1VqOadaBUVfS9MYKMcZmCyXw233GkdN@Fkl1m5QcUHl/zF6deuJyWim8cf95qGKXjRWt0MqwdlysUxfbfm6VzQk3l8Tz7cPWFbakhcR3Cr3I4aornq7SFTnPvdTTA@j75Bz/3aZR8fBqeWuC5DPOy9L2sfNpp2bt2vg9OaXcQCvwnLXPRaWawj@V/LGprZ8YrLRDuIb7SWenXk7jsM4Od3mKHzE77dLkB6yt1g/3JJrO56sdLNaonWJpDljlQk8nkbtnql5WjVrbJybSoDUBbDuRIr5JEt/qSTvHWoV4hPbxTu32s98B0N0Oh3KADNJSZXGOHZ53bVHp@RIlt9xjdJRZKQt6mhKhnST6VAy542EA67ayuK8r1c5aQTi@bCvkjEcSKuSRt@6gENBlE1yfLeEb33WUTLZgycY8Gql9/jO9opsE/EIDKTEqD/ECpb0gMXYjAzoeDcms/kDGFkQ1QzoASwMKAvgtLGPtoV6QFmXW@m6ocvbyJRhoYtSFmj8jfk2jsVxSfB78mxH8mrhvhFMaxGCJloTvC281a7FGzVpOiNJMFPXQLIObcuriiivhI9psoODoKb5rpsTwPE38V6N1Y@yJbfXaVGkB8dtPAnmrjFBDGiToEDFSxPeuVEEjaRBqUqb1MWZyFMBabOxCTK1@qdj8jxmYpTw9frcylzBx3tMOZl6ev4iTtFHhwIt0skPy0DNCAHl6rDQd7NZiGuIIb424Q8QhuRmeuR67XqjanjTAFfnViEG680oTP9UK6cWifPqiZJRVayPN6B5RNn6gKrnePrzFPdahc8su1YUmeEML90ycjQaOY3t1GL@xOtbh5@0tpfhHA2Tv6xmtTA1qZ9r9PQP0W5fiBcmc@FB9aVoPtK5FOG5oyLcEzvng13W2@CWa7Ca3c30UoVFZSHrGf0GMK6y7m4ia1A8bYC4L9GOLdUOZsT20K6LbFZOu/g4/X8@Gnx0Xmq5XwtViE1L83@Cly1L7uapetJm1X3LWpAygVArwqfePc1YYO1HHXDL@6PrMEavg8ERPpOU8dfZ6HRyZ0jevHn@grsZGuQxfiXKhiLjAqxCPgSfJgd8Zin/IECEqPwN07g8JJM8vRqSABCCzZzAaRinKQ@N76tocVcNj9Me6vQl2YIZvdaXQuqhi@0JWq7lmji0l4LY7upov8R1lNVbV5bOI9EJ/hz9fgqLie4Mh3U4Mwr4b3OaaJn4Fkch25OqB3S3qEYxD66ua1Lj7YHOal6Lyd9MybPIWnxxBZoSHlBgW/2G13V5yGM9ftkAPgKUH4DFzQQ@aYxgu@L9RkCqgsj6ukzDNpfoLjV0GxCLCxfXDLzG3kZ4SQmtFbaERqrcDbEOBSJh4jqOKTDSPKnYw9S1jSM4v8H3oPyeL4459vhSz8rOvKGssFXLr@qSbdPReinp2vj1quQrVvnmtqWMRAOXyRPPI65a6WOp5U6qMKdtUdZBlA2tFX11HxsFvPKS9vcrEHdFe8tIozTA18/f5ruflvoW@f0r5kYNQFHTBE9y3Dd1aWNniZL2pTUnGFg4v/LC88Z/BxXVoX2/Tfh1fGIxB1/19Pm3WfDvJeNJj8ueVeVTv3O6UVaimcmUpQzFkUSEtrOROeaw/8GqHzsz0Vr60yj/8XtNq6@9BGt6s7Zr3lYKW@7H57P7D@8/On9w/2HD99QVuS/5d7mY6S@zwlavRK5O/CAOq7yWLNFbyGRCVVnLgyzuGPBLeBJeQI5FL/Lr6hh@48BKFptqFWrYLt9@Yf6Bf/WYSEdEibg95xAu3ZHfvwaaExzQOYm9WBiki6y5qDJOt6a7kDW1dqRR82WnsrL8NRyi0hfD6Q359wNquRWeIIExB1MVetdpmT@DcJPbYO@vv76IPn@@@0P5@fOXE/aWzd7O2Pz1@XJ39ma2ZnfOl9P1bP1uutrd@Qb@nOOfP6xm0@mv/PvWNFzqz@UCrW5PfAebagTD9us/AA "Python 3 – Try It Online"
This is my first answer in my new programming language! Please note: this language is not available yet on TIO, but because the interpreter itself is in Python 3, then I can still provide links to my answers. For these answers, the interpreter itself is in the header while the code for Rattle is in the actual code section. Eventually, Rattle will probably be added to TIO and the above code will run natively. If you hit run on TIO, this code will still produce the correct output.
I am also still open to suggestions for what to name my language - Rattle is simply a placeholder.
If you're interested in learning this new language, I would recommend you wait about a week. I admit, the documentation is not great yet but I'm working on improving it.
Eventually, this programming language might have a more concise way to solve this challenge.
Explanation
=
Fizz&Buzz is a hard-coded input which gets split automatically into a list
| signals the end of the input
! is a flag to disable implicit printing at EOF
sS saves the list to memory slot 0, selects the first index of the list
s1S1 saves this to memory slot 1, selects list index 2
s2P3 saves this to memory slot 2, moves pointer to slot 3
[ start outer loop
g+R1bs gets value at slot 3 (initialized to zero), increments, reformats it as an integer, appends it to a buffer, saves it to slot 3
%3 takes the current value on stack and pushes the value mod 3 to stack
[0b1b^0] if the value on stack is equal to 0, concatenates value from memory slot 1 to a buffer and nullifies the 0th element of the buffer
g%5 pushes value from slot 3 to stack, takes the value and pushes the value mod 5 to stack
[0b2b^0] if the value on stack is equal to 0, concatenates the value from memory slot 2 to the buffer and nullifies the 0th element of the buffer if not null already
B if the buffer is non-empty, prints buffer
]100 end outer loop - repeats 100 times