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 76EC9956D for ; Mon, 20 Feb 2012 16:00:34 +0000 (UTC) Received: (qmail 91153 invoked by uid 500); 20 Feb 2012 16:00:34 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 91121 invoked by uid 500); 20 Feb 2012 16:00:33 -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 91113 invoked by uid 99); 20 Feb 2012 16:00:33 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Feb 2012 16:00:33 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of olegsivokon@gmail.com designates 209.85.210.175 as permitted sender) Received: from [209.85.210.175] (HELO mail-iy0-f175.google.com) (209.85.210.175) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Feb 2012 16:00:26 +0000 Received: by iaby12 with SMTP id y12so8219770iab.6 for ; Mon, 20 Feb 2012 08:00:05 -0800 (PST) Received-SPF: pass (google.com: domain of olegsivokon@gmail.com designates 10.43.44.69 as permitted sender) client-ip=10.43.44.69; Authentication-Results: mr.google.com; spf=pass (google.com: domain of olegsivokon@gmail.com designates 10.43.44.69 as permitted sender) smtp.mail=olegsivokon@gmail.com; dkim=pass header.i=olegsivokon@gmail.com Received: from mr.google.com ([10.43.44.69]) by 10.43.44.69 with SMTP id uf5mr22079420icb.41.1329753605213 (num_hops = 1); Mon, 20 Feb 2012 08:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=5BPI34ETP7hc4OfTmha9j4WH736HilaM07eszn3G1k8=; b=GNOebbYVkg2zRUgg/2qojIlDxmoL1ZvGg+6SfP+Hd7fBG7DWZAz5ZW6i717pLRMFrH V7uBmUbyn6xE1nSCjIp01BMwQchlIMbL+YddgLMREexRoKYpQGcuoGjTPRspTRG3B0Au 0vwMr5N9r9ieG6zCtA1iycOH/VAnJhgwmzKQg= MIME-Version: 1.0 Received: by 10.43.44.69 with SMTP id uf5mr17668730icb.41.1329753605141; Mon, 20 Feb 2012 08:00:05 -0800 (PST) Received: by 10.42.224.132 with HTTP; Mon, 20 Feb 2012 08:00:05 -0800 (PST) In-Reply-To: References: <00e501ccefe1$6467dc30$2d379490$@davidarno.org> Date: Mon, 20 Feb 2012 18:00:05 +0200 Message-ID: Subject: Re: [gosh] Compiler choice [was Goshhawk language choices and more] From: Left Right To: flex-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=bcaec52e5f8945f37204b96763d9 X-Virus-Checked: Checked by ClamAV on apache.org --bcaec52e5f8945f37204b96763d9 Content-Type: text/plain; charset=ISO-8859-1 Well, HaXe can use pre-compiled code, since maybe more then a year ago I guess... It doesn't use SWC, but ans SWF as an input is OK. Probably Niel can elaborate on that, or correct me if I'm wrong. HaXe has a way to deal with AS3 global functions (for example you could've exposed them through Lib class), I don't think it would be particularly difficult to add a compiler macros to handle the declaration of such functions too, when working particularly on AS3 target. I never found any practical use case that justified the use of internal or custom namespaces except for some side effects, like, for example, providing access to a function if the code asking for the access is authorized to do it. Which was still a nice, but useless trick. I could never be confident whether to use protected or private because I really view them as the same thing. I really think that separation of these two added more complication, where it wasn't actually needed. I see the absence of E4X as a good thing, it has proved to be both very difficult for understanding and inefficient, especially as implemented in ASC/MXMLC. It is both difficult for the user to write, for the compiler to optimize and for the editor to highlight it properly. Besides, the instances of framework code using E4X can be counted on the fingers of one hand, so it's not really an issue. In my opinion, the framework in any case requires a very fundamental rewrite. The way things were done wasn't good, but no one took the courage to change that because of number of promises Adobe had to keep to the people who used the framework. Why not use MXMLC? - obviously, Adobe aren't going to support it, unless for maybe critical fixes, so if you are going to support it, you are quite on your own with that. MXMLC, as a program, suffers from all kinds of architecture errors and this is probably the reason Adobe decided to not to fix it, but develop something new. When I used Metaas, I used it because me and my friend where trying to do something like real-time code-behind generation for MXML files. I.e. we were working on a plugin for FlashDevelop that would compile MXML files as you edit them and, if you wanted to, you could switch to see the source produced by MXMLC. While doing this, I got acquainted with MXMLC source code more closely, and, honestly, it's a mess... After some time of trying to do what we wanted with MXMLC, we decided to patch Metaas to do the codegeneration, because it seemed to be easier and much more generic! We actually succeeded to a degree the prototype was working :) But then we got both frustrated about MXML as a concept and never touched that thing again. Best. wvxvw --bcaec52e5f8945f37204b96763d9--