Hey folks,<div><br></div><div>I'm working with a project that'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've been slowly figuring out how to get a Grace parser written in Racket, but it looks as if I'm going to have to make a decision soon about how I'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't see anything object-oriented included, so I'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's <a href="http://hashcollision.org/brainfudge/">braincuddle</a> tutorial. It's comprehensive, and implements everything I'd like to have done in the initial stages of the project, but still doesn'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's a Java implementation (or at least tries to emulate it well enough), it's the most object-oriented example that I've been able to find. (the only one, in fact) The downside to using it is that it's more complex than other languages I've looked at and, honestly, more complex than Grace will probably ever be. Also, it'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'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't know about yet, b) would it be worth the time investment to try to work out what'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't mind the oddly list-based structure of my post. I'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>