Any discussion of "compact" subset for mobile devices?

Michael O'Brien mob at
Thu Mar 20 23:19:24 PDT 2008

On Mar 20, 2008, at 10:56 PM, ToolmakerSteve98 wrote:

> "Lars Hansen" wrote:
>> but several companies that participate in the ES4 work are planning  
>> to
>> ship on small devices.  And they have been participating in
>> the work in part to make sure that's possible.
> I am very glad to hear that you are pressing for that.
>> Anyhow, subsets are pretty pointless on the public web.  An
> implementation that wants to play needs to support the full
> language.
> That's what concerns me. To my mind, the next step in logic  
> execution for
> the web should be strongly biased to favor low power low memory  
> devices. We
> want complex application logic running on client devices. ALL client
> devices. Looking at all the technical approaches that have been  
> tried, what
> would give the most bang for the buck?
> After a rough look at the size of the language grammar and spec, and
> perusing some of the past mail discussions about subtleties in
> parsing/analyzing certain constructs -- WHOA - this is stuff we take  
> for
> granted on our multi-GHz and GB desktop PCs today, but ES4 would
> web-standardize a language that would require every web client to  
> take on
> that burden. My gut reaction is that Microsoft has taken a better  
> tack: let
> this stuff be resolved at authoring time down to a CLR. Don't burden  
> every
> web client device with it.

We are doing exactly that in our implementation. It is only a subset  
of ES4 currently, but
does many of the big pieces including classes, static typing,  
namespaces, packages, units,
most of the grammar, type annotations, conversions, strict and  
standard mode. The online
spreadsheet tracks progress pretty well.

We are using an off-device compile phase and then running a VM on  
device to execute pre-compiled byte code.
We are running this on standard feature phones using a C based and a  
java based VM. Our footprint is < 200K
to startup. I expect that when we have all the language that this  
number will go up to ~350K.

We do provide compilation directives to allow OEMs to "deselect"  
features that are not required
in their device. This results in a "non-standard" OEM implementation,  
but compatibility with the
web is not a concern.

So while we have a long way to go to be compliant and fully featured,  
I am confident that ES4 can run
on very modest devices with acceptable performance.

> That's why I ask about "compact" subset. I'm initially skeptical  
> that what
> I'm seeing is the right next step for the web. But I think there are  
> a lot
> of good ideas here, so I'm working through it, looking for common  
> ground
> between stuff I see at Microsoft and stuff I see here.

So I'm against defining a compact subset standard. The reason is that  
everyone wants a different subset and
defining a hobbled edition won't meet anyones needs.

I'd rather have one standard and then provide a mechanism for those  
who must defeature the language to
select the portions required. This does prevent interoperability of  
programs, but it does strengthen the
integrity of what "is" ES4.

Michael O'Brien

> ~TMSteve
> _______________________________________________
> Es4-discuss mailing list
> Es4-discuss at

More information about the Es4-discuss mailing list