Abhinav 🌏<p>I'm starting a series of blog posts, in which I write a <a href="https://fantastic.earth/tags/bytecode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bytecode</span></a> <a href="https://fantastic.earth/tags/compiler" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compiler</span></a> and a <a href="https://fantastic.earth/tags/virtualMachine" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>virtualMachine</span></a> for arithmetic in <a href="https://fantastic.earth/tags/Haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haskell</span></a>. We explore the following topics in the series:</p><p>- Parsing arithmetic expressions to ASTs.<br>- Compiling ASTs to bytecode.<br>- Interpreting ASTs.<br>- Efficiently executing bytecode in a VM.<br>- Disassembling bytecode and decompiling opcodes for debugging and testing.<br>- Unit testing and property-based testing for our compiler and VM.<br>- Benchmarking our code to see how the different passes perform.<br>- All the while keeping an eye on performance.</p><p>The first post of the series that focuses on writing the <a href="https://fantastic.earth/tags/parser" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>parser</span></a> is now out: <a href="https://abhinavsarkar.net/posts/arithmetic-bytecode-vm-parser/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">abhinavsarkar.net/posts/arithm</span><span class="invisible">etic-bytecode-vm-parser/</span></a></p><p><a href="https://fantastic.earth/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://fantastic.earth/tags/Blogging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Blogging</span></a> <a href="https://fantastic.earth/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://fantastic.earth/tags/programmingLanguages" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programmingLanguages</span></a></p>