Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 491F0E9E3 for ; Thu, 27 Dec 2012 16:00:33 +0000 (UTC) Received: (qmail 97992 invoked by uid 500); 27 Dec 2012 16:00:32 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 97953 invoked by uid 500); 27 Dec 2012 16:00:32 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 97945 invoked by uid 99); 27 Dec 2012 16:00:32 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Dec 2012 16:00:32 +0000 X-ASF-Spam-Status: No, hits=1.0 required=5.0 tests=FRT_ADOBE2,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.223.178] (HELO mail-ie0-f178.google.com) (209.85.223.178) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Dec 2012 16:00:27 +0000 Received: by mail-ie0-f178.google.com with SMTP id c12so11510291ieb.23 for ; Thu, 27 Dec 2012 08:00:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:x-gm-message-state; bh=rYPTACS9yD02Gwa/56EVesfBgMBjIX5BVPEtQ3PafFM=; b=TN587lziKaI2B7rzS1kz5F5k5/H13IQeCQ3v0xYKUzgBJE+qcnqPaAu0OzYoFb8xxv mEeV6/PmtKJFRDkB071VM7zc3LjeF71Ij+qohBrHpQWPHNJAxXW5SydQwGzbXnMWgVGu ooEyu+t9DkKyi8vxEeb178LQcEwQTG5L3A49IZM/eG9Cuv+kJMvrabJAF2gzioLi5pna nZX1NF9N7VefXme+oD0AVHEqeQ04lCQmetz7WlIFBUGYSt0g11S8XFAqz5uOuMtfBnm0 bVLfOa/y7dr+J2Py2DYycTEF/samPOFaJQsgpLF7xrR78wfxZEBv3ZezLi8Ktb8pmpV7 VE6g== MIME-Version: 1.0 Received: by 10.50.150.167 with SMTP id uj7mr27913925igb.33.1356624006360; Thu, 27 Dec 2012 08:00:06 -0800 (PST) Received: by 10.64.34.234 with HTTP; Thu, 27 Dec 2012 08:00:06 -0800 (PST) In-Reply-To: References: Date: Thu, 27 Dec 2012 17:00:06 +0100 Message-ID: Subject: Re: [FalconJx] Package down to Expression production; JSGoogEmiter prototype From: Erik de Bruin To: "flex-dev@incubator.apache.org" Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQmTFmeu4EOEfzQNnOylbT39nNJjMS88kEybHqqAJvY5rqvTgiJM1vGrf+pDN+Wnsd0SDeKk X-Virus-Checked: Checked by ClamAV on apache.org "Full" AS to JS cross-compilation is well within our reach, apart from E4X, which is entirely absent from all browsers except old Firefox builds. If you look at the Wiki, I have made a table of most of the language features of AS and indicated which solutions for the disparities are possible. So far, when looking at JS + 'goog', I don't see any actual show stoppers. There might be some 'nasty' workarounds needed, but we can hide those from the user/developer ;-) The real challenge is the frameworks on both ends (Flex SDK and "FlexJS"). I'm leaning towards the 'long' solution, where we try to support as much of the Flex SDK on the JS side as possible, again using 'goog'. Having the AS - JS compilation in FalconJx 'nearly 100%' language feature complete (and very extensible) makes it possible to use whatever framework we want on either side. EdB On Thu, Dec 27, 2012 at 4:38 PM, Alex Harui wrote: > > > > On 12/27/12 5:33 AM, "Erik de Bruin" wrote: > >> >> I'm not sure how your solution provides for this? Mine doesn't either, >> mind you, but I gave up perfection for simplicity very early in this >> thread ;-) >> > +1 on simplicity vs perfection. > > IMO, If you take on full AS to JS cross-compilation, it is a very difficult > task full of these edge cases. But I want to (at least at first) only > cross-compile a subset of AS to JS. I am hopeful there is a subset that is > straight forward to cross-compile that is sufficient enough for folks to > build enterprise class apps. We would add warnings/errors to the compiler > to catch the edge cases like untyped or (* typed) optional params. > > I think I recall that for..in iteration of classes is also an issue. Seems > like we could live without that or require that you provide a filter > function for the cases where you need it. > > -- > Alex Harui > Flex SDK Team > Adobe Systems, Inc. > http://blogs.adobe.com/aharui > -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl