Hi again, thanks for replying ...<br><br><div class="gmail_quote">On 5 September 2011 03:45, Russell Allen <span dir="ltr"><<a href="mailto:mail@russell-allen.com">mail@russell-allen.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">



<span></span><br><div style="background-color:#fff"><div><div><div><div class="im">
<br>
> I am working in my spare time in a compiler for the Lisaac language.<br>
> The Lisaac language tried to mimic Self (poorly in my very recent<br>
> opinion) using Eiffel concepts like static typing. You can find it at<br></div>
> <a href="https://github.com/mildred/Lysaac" target="_blank">https://github.com/mildred/Lysaac</a> [1]<br>
<br>
Interesting. I haven't played much with Lisaac. It is still being <br>
developed?</div></div></div></div></blockquote><div><br>I am the one who is re-developing the Lisaac compiler (hence the Lysaac name) but I also worked on the main Lisaac compiler with Benoît (the author) and few others. Currently, the project is very quiet, but don't be fearful, the project was always very quiet with Benoît doing almost all the work. Still, there is a thesis ongoing with the Lisaac language.<br>
<br>The problem is that I might forget about Lisaac if I get to work with Self :)<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div style="background-color: rgb(255, 255, 255);">
<div><div><div><div class="im"><br>
<br>
> I started reading out Self documentation because while implementing<br>
> inheritance in Lisaac, I find it poorly defined. I wanted to<br>
> understand the source of the prototype based inheritance. Doing so, I<br>
> discovered a completely new and interesting world. Since very<br>
> recently, my new goal is to create a very simple compiler for Self<br>
> (that I hope compatible with current Self code) that targets LLVM. I<br>
> don't plan on doing complicated optimization, just to have a compiler<br>
> to get started. Then bootstrap the compiler by rewriting it in Self,<br>
> and then, finally, improving on it. My dream is to get a system where<br>
> the Self VM could be written in the same dialect of Self. Not in<br>
> C/C++/Whatever, and not in  restricted dialect.<br>
<br></div>
If you haven't already, you should look at the (unfinished) Klein <br>
system at <a href="https://github.com/AdamSpitz/klein" target="_blank">https://github.com/AdamSpitz/klein</a> and talk to Adam Spitz. It <br>
has a very similar aim (Self written in Self) but without the use of <br>
LLVM.<br></div></div></div></div></blockquote><div><br>Over the last two days, I found out about Klein, but the project seems dead, isn't it? I just looked at the source tree on github and there are C source files, If it's supposed to be written in Self, then I don't understand their purpose.<br>
<br>As far as I can think, the VM itself can't be written in a language that requires a VM. Or else, we'd need to maintain that VM itself. The only way is to get a compiler for Self.<div class="im"><br>
<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
> So, right now, I'm lookinf for parsers for Self, but I might do it<br>
> myself. I don't think the syntax is that complicated.<br><br></blockquote>
</div><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
There are a couple of edge cases which might be tricky. There is <br>
already a parser for Self written in Self, but it is a little tricky to <br>
file in because it requires the parseKit module from Klein. Basically <br>
you have to read in the applications/parseKit/parseKit.self file from <br>
the Klein tree and then the applications/selfParser/selfParser.self file <br>
from the main Self tree.<br></blockquote>
<br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
Otherwise, a port of Alex Warth's OMeta to Self ( <br><a href="http://www.tinlizzie.org/ometa/" target="_blank">http://www.tinlizzie.org/ometa/</a> ) would be a really useful addition.<br></blockquote><div><br>Thank you for the pointers, I already started my own compiler based on the syntax rules on the Self website, but these might be interesting.<br>
<br>I started coding at <a href="https://github.com/mildred/SelfC">https://github.com/mildred/SelfC</a><br>I am using Ruby, mainly because I know this language, and I can code fast.<br><br>Thank you,<br><br>Mildred </div>
</div></div><br><br clear="all"><br>-- <br>Mildred Ki'Lya<br><a href="http://mildred.fr" target="_blank">http://mildred.fr</a><br>