[racket] two languages at a time in DrRacket

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Wed Jun 30 15:08:08 EDT 2010

Surely someone here has done something like this before, and I'd like
advice on how to do it.

We're in the process of converting Margrave, our security analysis
tool, over to Racket, and to exploit DrRacket as its user environment.

What we'd like to be able to do is this: in DrRacket,

  Interactions Window:
    <a CISCO IOS firewall policy>

  Click Run to "load" this policy

  Definitions Window:
    <a query in our SQL-like policy query language>

That is, just as the REPL explores the values of the program in the
definitions window, the policy query language explores the firewall
policy in the definitions window.

One analogy might be that it's like writing a Java program up top, and
using Scheme in the REPL to explore it.  But that's only an analogy as
far as syntax goes.  Semantically, our problem is worse (in the Java
case, one could compile the Java into Scheme, a la ProfJ; we don't
even have such a common intermediate language; the policy compiles to
first-order models, and the query runs against them).

Any thoughts on how to structure such an interaction?

Shriram


Posted on the users mailing list.