A few weeks ago, it came up in class how the process of writing your own DSL is pretty tedious, so I thought, hey what if there was a DSL that helped you write embedded DSLs? Then, I asked you how the original compiler for a language like C is maintained, and I learned about bootstrapping.
However, I'm honestly still having trouble picturing exactly how this would work. I feel like learning about this is pretty relevant, if we want to (maybe not this semester but in the future) make a DSL and not have it dependent on Haskell (like if I want to share my DSL with other people, I don't want them to have to install Haskell first). It's also useful to solidify our understanding of all the layers and meta-layers, end to end.
A few weeks ago, it came up in class how the process of writing your own DSL is pretty tedious, so I thought, hey what if there was a DSL that helped you write embedded DSLs? Then, I asked you how the original compiler for a language like C is maintained, and I learned about bootstrapping.
However, I'm honestly still having trouble picturing exactly how this would work. I feel like learning about this is pretty relevant, if we want to (maybe not this semester but in the future) make a DSL and not have it dependent on Haskell (like if I want to share my DSL with other people, I don't want them to have to install Haskell first). It's also useful to solidify our understanding of all the layers and meta-layers, end to end.