Thanks for the clarification Timothy,<div><br></div><div>I have some follow on questions - </div><div><br></div><div>Q1. Are there any theoretical limitations to the kinds of C targets that could be generated with FoF like DSL backend? </div>
<div><br></div><div>Q2. If the answer to Q1 is no, then are there situations where the &quot;C&quot; code would be more readable or verifiable than the logic implemented in DSL?</div><div><br></div><div>My earlier email posts were assuming a &quot;no&quot; for Q1. I&#39;ve done multiple implementations of x86 based monolithic kernels - my own in asm, my own in C, port of Linux 0.01 and linux 1.0 to the new gcc (bootable by GRUB). I eventually figured out some of the inherent weaknesses of monolithic kernels and started exploring Minix - I&#39;ve been able to do part of the port of Minix build system to Linux using gcc and nasm(again boot using grub).</div>
<div><br></div><div>In the beginning, reading the spec of x86 processors, various supporting chips like timer 8254, PIC - 8259A etc and writing C code for them was a source of unlimited excitement  for me. Later however, I began to realize that doing the translation from the spec to C was an utterly mechanical task! This is one of the lines of thinking that led me to  search for DSL, Haskell OS as keywords on google that got me Barrelfish.</div>
<div><br></div><div>Another line of thought, I believe more important one, is that some of the main benefits of microkernels could be combined with the benefits of monolithic kernel using the DSL approach. One of the key benefits of microkernes is its modularity, not talking about re-incarnation of servers capability (I think, relying on being able to restart servers is not a good idea), I am talking about the independently verifiable components. So, in theory, we could have a set of N components written in M DSL&#39;s (or perhaps just one DSL) and all of them output a set of N c files that get compiled and linked into one big executable monolithic kernel.</div>
<div><br></div><div>Anyway, all this was based on my assumption about Q1. I&#39;d appreciate it very much if you could help me understand it better if the answer to Q1 is yes.</div><div><div><br></div><div>Regards,</div><div>
Kashyap<br><br><div class="gmail_quote">On Mon, Feb 15, 2010 at 4:07 PM, Timothy Roscoe <span dir="ltr">&lt;<a href="mailto:troscoe@inf.ethz.ch">troscoe@inf.ethz.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Filet-o-Fish is an embedding of a subset of C into Haskell; it&#39;s heavily geared towards generating code from DSLs rather than general-purpose C.  As said, I suspect some of our DSLs may converge, but we have no plans to abandon C as the main language.<br>

<br>
 -- Timothy Roscoe<br>
<br>
C K Kashyap wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Hi Timothy,<br>
If I understand right FoF is a model for &quot;C&quot; and that one could describe his/her intent in FoF in a concise manner and corresponding &quot;C&quot; could be generated. Could the commonalities under various dirs under arch  have been abstracted into a DSL?<br>

<br>
Can we not have all the source code in DSL&#39;s alone?<br>
<br>
Regards,<br>
Kashyap<br>
<br></div><div class="im">
On Thu, Feb 11, 2010 at 8:02 AM, Timothy Roscoe &lt;<a href="mailto:troscoe@inf.ethz.ch" target="_blank">troscoe@inf.ethz.ch</a> &lt;mailto:<a href="mailto:troscoe@inf.ethz.ch" target="_blank">troscoe@inf.ethz.ch</a>&gt;&gt; wrote:<br>

<br>
<br>
    Hi Kashyap,<br>
<br>
    I&#39;m not sure what you mean - in general you need to have some general<br>
    purpose language to glue everything together.  Our use of DSLs is very<br>
    pragmatic: we generally use one when we think there&#39;s a chance it will<br>
    make our like easier.  There is a chance some will converge (both<br>
    Mackerel and Hamlet need to specify physical data layout, for<br>
    example), but we&#39;ll always have C.<br>
<br>
     -- Timothy Roscoe<br>
<br>
    At Tue, 9 Feb 2010 15:48:45 +0530, C K Kashyap &lt;<a href="mailto:ckkashyap@gmail.com" target="_blank">ckkashyap@gmail.com</a><br></div><div class="im">
    &lt;mailto:<a href="mailto:ckkashyap@gmail.com" target="_blank">ckkashyap@gmail.com</a>&gt;&gt; wrote:<br>
     &gt; Hi folks,<br>
     &gt;<br>
     &gt; I was a little surprised to see s o much of C code in the source<br>
    base. Is the<br>
     &gt; plan to eventually have code only in DSEL&#39;s?<br>
     &gt;<br>
     &gt; --<br>
     &gt; Regards,<br>
     &gt; Kashyap<br>
<br>
<br>
<br>
<br>
-- <br>
Regards,<br>
Kashyap<br>
</div></blockquote>
</blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Kashyap<br>
</div></div>