Project history: BROOD 5.x - static name management: modules + lambda (no more hash tables) - separation of rpn macro language and forth syntax (parsing words) - base scat language: stack + hidden state threading - macro laguage: 2stack = scat stack + assembly stack - more macro / postponed-word unification (i.e. multi-exit macros) - better target specialization: controlled redefine of core words - simplified assembler + improved code data structure - asm pattern matcher with static checking - state rep: structure type inheritance + functional update (factory) BROOD 4.x - host language implemented as mzscheme macros (without interpreter) - made most macros hygienic, including pattern + forth preprocessor. - purification: eliminated some side effects - added better state syntax + state combinators BROOD 3.x - switched to host language with static binding - moved from implicit functional store -> explicit state binding (lifting) - introduced pattern matching language for peephole optimizer BROOD 2.x - switched from forth to functional host language with dynamic binding - uses functional store - sheepsint 2.0 on 18f1220 BROOD 1.x (original BADNOP) - imperative forth host language - simple PIC specific - sheepsint 1.0 on 12f675