[squeak-dev] re: would it be fun to implement Squeak (and SPOON!) on this hardware?

Doug Jones djsdl at frombob.to
Sun Dec 22 23:11:33 UTC 2013


On 12/21/2013 02:24 PM, Craig Latta wrote:
>
> Hi Jon--
>
>> I just bought a Teensy 3.1 from pjrc.com<http://pjrc.com>. Its got an
>> ARM overclocked at 96 MHz, with 256 KB of FLASH, and 64 KB of RAM,
>> plus a huge pile of hardware features built in. It was $20, and looks
>> like one of those old basic stamps. Right now I'm programming it with
>> the Arduino IDE, but its another platform that would be cool to run
>> something like Little Smalltalk or Spoon on.
>
>       A 32-bit processor, nice! The next hurdle is getting the VM down to
> below 256 KB. To date there hasn't been an effort to make the VM small,
> as far as I know. Currently the VM is at least a megabyte on every
> platform, yeah?
>


This is what motivated me to start this thread in the first place. 
Spoon is stripped down to be really small, but with enough smarts to 
pull in additional functionality from across the network as needed.  But 
it runs on top of a humongous VM.

Why not strip the VM down as far as possible too, and pull in additional 
things when needed?  Just enough VM to run a minimal Spoon.  It doesn't 
have to be fast;  it can pull in speedup methods as needed (or perhaps 
even swap itself for a fancier VM on the fly???).

There are lots of hardware candidates that would be well-suited to build 
small smart software systems on top of (not to mention fun), but the 
Micro Python board called out to me because of a number of attributes 
not shared by many other candidates:


- completely open source hardware, not very expensive, and practical for 
a hobbyist board builder as well as mass production

- 192KB RAM, 168MHz 32bit processor, with hardware floating point

- 1MB flash, plus gigabytes of SD card storage

- lots of GPIO pins, and USB, and ethernet, and wifi

- potentially large community building up around it (he pulled in nearly 
2000 Kickstarter backers by the time the gong rang)

- $150K+ in funding

- boots up from bare metal to a high-level language command line, all 
open source, all MIT licensed, including drivers for file systems and 
networking and all those GPIO pins


This last point is key.  Suppose you wanted to implement your favorite 
language on a small cheap computer  --  what would you need?  You'd need 
to RTFM, of course, but things would be much easier if you also had an 
existing reference implementation to look at, one that was actually 
working and being used by hobbyists and others for real projects. 
That's what this board aims to be.  It is currently running Python 3.3, 
with libraries to talk to all those pins and peripherals.  And judging 
by that Kickstarter proposal (plus the FAQs and all those really 
detailed Update posts), this system will have fabulous documentation.

Now if this guy had proposed a Kickstarter for a little board running 
smalltalk (or lisp or haskell or name your favorite elegant language) I 
suspect he wouldn't have pulled in quite that many pledges.  But he went 
for Python, and now he has the resources to build something that could 
be the basis for generations of projects to come.  (My fevered 
imagination sees it as Arduino on steroids, but much easier to program...)

Of course his work may not be especially useful for the person who wants 
to build a smalltalk VM that runs on this CPU, but so what  --  after 
all, didn't Ian and Andreas finish several ports within five weeks after 
Squeak's first release?  ;-)



More information about the Squeak-dev mailing list