Hey folks,<div><br></div><div>I&#39;m working with a project that&#39;s designing a new pedagogical object-oriented language called <a href="http://www.gracelang.org">Grace</a>. My job is to find a good IDE, and so far, DrRacket has looked like a good choice. I&#39;ve been slowly figuring out how to get a Grace parser written in Racket, but it looks as if I&#39;m going to have to make a decision soon about how I&#39;m approaching this, and I wanted to get the input of some more experienced Racketeers about what would be the best way to move forward.</div>

<div><br></div><div>So far, my thinking has been influenced by 3 sources:</div><div><br></div><div>1) Languages included with DrRacket, such as Swindle and Datalog. Yacc and Lex seem to be the way to go. Unfortunately, I don&#39;t see anything object-oriented included, so I&#39;m still a bit lost on how to, for instance, implement classes if I follow their example.</div>

<div><br></div><div>2) Danny Yoo&#39;s <a href="http://hashcollision.org/brainfudge/">braincuddle</a> tutorial. It&#39;s comprehensive, and implements everything I&#39;d like to have done in the initial stages of the project, but still doesn&#39;t offer much in terms of how to get classes involved.</div>

<div><br></div><div>3) The remnants of the <a href="http://www.professorj.org">ProfessorJ</a> project. Since it&#39;s a Java implementation (or at least tries to emulate it well enough), it&#39;s the most object-oriented example that I&#39;ve been able to find. (the only one, in fact) The downside to using it is that it&#39;s more complex than other languages I&#39;ve looked at and, honestly, more complex than Grace will probably ever be. Also, it&#39;s old. It was last included with PLT Scheme 4.1, and while at the moment, the only compile error that I get is to update the contract protocol, I don&#39;t know what else might break if I managed to fix that (which is no negligible time investment on its own).</div>

<div><br></div><div>I think the main questions that come out of this are a) is there a better example of an object-oriented language in Racket/DrRacket that I don&#39;t know about yet, b) would it be worth the time investment to try to work out what&#39;s happening in the ProfJ code, and c) if I end up doing new code for this, are yacc and lex worth using, or should I eschew them like in the braincaressgently example?</div>

<div><br></div><div>These are, of course, just suggested questions. I would welcome any input on what would be the best way forward (or misconceptions I have). Please don&#39;t mind the oddly list-based structure of my post. I&#39;m not sure how that ended up being the format for today. Thanks in advance for your help.</div>

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><div><br>-- <br>cmf<br><br><br><br>
</div>