Weekly WIPs (work in progress) are shorter posts that describe projects or features that are still being worked on, as opposed to fuller posts looking at completed work. Most features take weeks to build, so these are smaller intermediate progress reports, but hopefully will still be interesting!


This is how the sausage is made... or being made 🤪 - in this case, drawing out example cases then trying to find some clean and elegant unifying logic

Progress was made last week and some tests went green, but trying to handle additional cases (in this case, the ability to propagate port arrays across levels of hierarchy) has revealed significant shortcomings - and it's back to the drawing board (or drawing tablet, as shown above). The initial plan for this week was to support an abstract microcontroller type (discussed further on the GitHub issue), but thinking more about its structure has revealed that support for port arrays to propagate across levels of hierarchy is needed now (the idea is that the microcontroller chip will have the grab-bag of IOs, and the wrapper needs to propagate those ports outward).

The current approach is to better define port arrays as parameter-defined ports, which helps reduce the special-case propagation logic required. Now time to propagate that through and refactor the compiler ... yet again. Such is research...

Next Post Previous Post