From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@9fans.net Date: Thu, 5 May 2011 12:33:40 +0000 From: comeau@panix.com (Greg Comeau) Message-ID: References: , <86y62r9xno.fsf@cmarib.ramside> Subject: Re: [9fans] Compiling 9atom kernel WAS: Re: spaces in filenames Topicbox-Message-UUID: dd79ac54-ead6-11e9-9d60-3106f5b1d025 In article <86y62r9xno.fsf@cmarib.ramside>, wrote: >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? I think the "less huge" characterization probably leaves this as an unknown with both being enough of a chore that either will no doubt challenging and challenging in their own rights. Personally I don't know know enough about the web to assess it myself though I do have observations I'll leave at a cursory level that there does not seem to be a simple solution. BTW, why is the above a "Plan 9" specific approach? -- Greg Comeau / 4.3.10.1 with C++0xisms now in beta! Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90. Comeau C/C++ with Dinkumware's Libraries... Have you tried it?