STORY

Seaside, Smalltalk Images, and the DNA of Flutter Hot Reload

  • Seaside, Smalltalk Images, and the DNA of Flutter Hot Reload

  • In the 2000s, I served on the Board of Directors for Squeak Smalltalk for five years, working to bring Smalltalk's live-object programming model into mainstream development.
  • Stateful Hot Reload in 2004 with Seaside

    • One of the gems we championed was Seasideβ€”a revolutionary component-based web framework created by Avi Bryant and Julian Fitzell.
    • Seaside had what we now call Stateful Hot Reload in 2004:
      • Web user interfaces were built by composing hierarchical UI components (much like modern Flutter widgets).
      • When an unhandled exception or error occurred during a live web request, Seaside popped up the interactive Smalltalk debugger directly in the web browser at the exact failing line of execution.
      • Developers could edit the method source code on the fly, recompile it directly into the live running image, and resume execution without restarting the web server or losing the user's form session state.
  • The 50-Year Lineage of Live Objects

    • That live-image philosophy traces an unbroken line back to Smalltalk-74 at Xerox PARC. In every copy of Squeak, the 20 "Well-Known Objects" (true, false, nil, SmallInteger) were literal byte-for-byte in-memory descendants cloned continuously across 50 years of hardware migrations.
    • When Smalltalk recompiled a class, it installed a new MethodDictionary on the class object while existing instances finished executing safely on the old dictionary until collected by garbage collection.
  • From Strongtalk to the Dart VM

    • Smalltalk VM architects Gilad Bracha and Lars Bak (who built the pioneering Strongtalk VM) brought those exact virtual machine principles into the Dart VM.
    • When Flutter introduced Stateful Hot Reload to the modern mobile and web development world, it wasn't alien magicβ€”it was the triumphant return of the Smalltalk live-system philosophy.
These facts are as Randal recalls them, but much time has passed for most of this. If you find a factual error, please email realmerlyn@gmail.com.