Hi Aaron - I was curious what you had done and tried the TestFlight angle but 
it says you're beta isn't accepting any testers (not sure if thats a setting 
you control - but just an FYI).

Like you - sometimes it is nice to just travel with an iPad and be able to try 
out random ideas - so we interested in how slow it practically is. 

Tim

On Wed, 25 Feb 2026, at 1:19 PM, Aaron Wohl via Pharo-users wrote:
> Pharo 13 for iPad in the test Apple Store (open in the Apple TestFlight app);
> Phone or Mac https://testflight.apple.com/join/kGmPQFr9
> Due to Apple’s no JIT, it's not snappy.  But maybe it's still useful?
> Source https://github.com/avwohl/iospharo about 100K lines of new source code.
>
> This is my first venture into using Pharo.  I could use advice on where 
> this project fits in Pharo/Smalltalk land.   In the early 80s, I used 
> the Xerox Parc Alto at Carnegie Mellon to run Smalltalk.  I got laid 
> off, went on a cruise, sat down in a beach chair with LEARN PHARO and 
> an iPad.  But, no Pharo for iPad.  So I did the natural thing and told 
> Claude Code to port Pharo to iPad.  54 days and 1347 commits later, out 
> popped a usable iPad app.  I do have a background in compilers, working 
> on the Production Quality Compiler project at CMU in the early 1980s, 
> mostly on lexers.  But I didn’t write any code for this.  I mostly told 
> CLAUDE a few times a day stop doing workarounds, do what the real VM 
> does, and that’s a workaround.  CLAUDE would never have succeeded I 
> think if I hadn’t started insisting a focus on getting the test suite 
> to pass rather than the app to work. 
>
> The main snag using the real VM was encoding the encoding of type info 
> in the high bits of pointers for immediate types.  It seemed simple to 
> me to shift the type info to the low 3 bits.  But Claude could not get 
> the real VM to stop looking in the high bits; perhaps I should have 
> pushed harder on that.  But I had always heard how easy it was to port 
> Smalltalk, so I just went with a new VM with the type info in the low 
> bits.  Loading a standard image translates the addresses.  
> The other issue was that Apple forbids JIT on iPad.  So this new VM has 
> no JIT.  
> Issues:
> - Should this be a separate VM? Should I push harder on getting the 
> standard VM to work with type info in the low bits and no JIT?  Even if 
> that would be better, is it worth the bother now that this works?
>
> - I don’t want to suck up the PharoSmalltalk name in the Apple stores 
> if it causes offense.  I can call it VibeTalk or something to leave the 
> name free for a hand-coded version.  Or move off the name if a real 
> contender ever shows.
>
> - Without JIT, is it too slow to bother releasing? Is there some other 
> optimization that could bridge the gap if it is too slow?
>
> - Are there any users who can give the iPad version a really good 
> workout in real work?  The VM passes the test suite.  But it just 
> started working on the iPad today. There will be UI issues.
>
> - On the iphone the menu bar is cut off, and the welcome window is 
> mostly off the screen.  The menu bar layout is in the image, not the 
> VM. I am not sure the VM should work around it.  Should these be fixed 
> in the image to have a multi-line menu bar as needed, and reshape 
> initial window layouts on phones?  If so is anyone willing to do the 
> Smalltalk side or help me do it (I have written mostly other languages)

Reply via email to