From mboxrd@z Thu Jan 1 00:00:00 1970 From: smiley@zenzebra.mv.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> References: <201104290319.23556.errno@cox.net> <201104292105.39780.errno@cox.net> <33F21281-6959-49EB-91E6-2906EC606483@9srv.net> Date: Sat, 30 Apr 2011 22:34:03 +0000 In-Reply-To: <33F21281-6959-49EB-91E6-2906EC606483@9srv.net> (Anthony Sorace's message of "Sat, 30 Apr 2011 02:26:03 -0400") Message-ID: <86y62r9xno.fsf@cmarib.ramside> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [9fans] Compiling 9atom kernel WAS: Re: spaces in filenames Topicbox-Message-UUID: d9cf24b2-ead6-11e9-9d60-3106f5b1d025 Anthony Sorace writes: > because it's a huge amount of work. there's a whole pile of standards and > pseudo-standards to deal with, the set is ever-growing, the components are > ever-growing, and there isn't really a good definition of "correct". Perhaps there's a "Plan 9" way to approach the problem which might involve a "less-huge" amount of work. Suppose the functionality of each component of the web browser architecture were specified with a domain-specific language (DSL). Take, for example, CSS. Translate the English human-readable CSS standards into a CSS DSL. Then, write a compiler to compile the constraints specified in the CSS DSL into C code that can be compiled with 8c. Then, when the standard is updated, when a special case needs to be added, or when a bug is found, that info would be added to the CSS specification written in the CSS DSL. Recompile to C, compile to binary, and you're up to date. That way, the whole specification doesn't need to be implemented directly in $language, and updates/modifications don't require additional, tedious, coding. This approach would require a DSL to be created for each of the components of the architecture: HTML, CSS, script, DOM; and a compiler would need to be written to convert each DSL into C. Now, here's the question: Would an apprach using specifications in domain-specific languages be easier or harder than porting an existing engine to 9? -- +---------------------------------------------------------------+ |E-Mail: smiley@zenzebra.mv.com PGP key ID: BC549F8B| |Fingerprint: 9329 DB4A 30F5 6EDA D2BA 3489 DAB7 555A BC54 9F8B| +---------------------------------------------------------------+