As Java gets more and more complicated with generics, closures, etc... I keep looking for simplicity. I have the Mantra prototype, but even that subset is kind of complicated. I decided to look at Smalltalk again. Coincidentally, Nik Boyd, who built Bistro years ago contacted me; he's moved to SF Bay area, which means we can chat in person. He had lots of similar ideas to what I'm thinking about: a slightly improved Smalltalk.
Couple of issues with Smalltalk:
- no flat file format really for humans
- dev happens within Smalltalk environment, which is nice, but harder to integrate with other systems
- no access modifiers; hard to say what public interface is
- no direct field access; can't say "o x" to get o's x field
- no a[i] array access operator; have to say "a elementAt: i" or whatever
- no types on variables, methods
- metaclasses confuse everybody
- commercial versions added namespaces (packages)
- I wonder if we need arrays vs lists? Is #(a b c) the right list syntax?
- Is $a decent char literal syntax?
- should have trees as default data structure
- var scoping rules seemed odd to me; will have to look at that again
The Java VM is still the right target but might be fun to start out having an interpreter written in Java.