If I wanted to build a drag-and-drop, visual programming interface for programming in DrRacket, is there any prior work I can build on? Ideally, I'd like to implement this as a DrRacket "snip", so that my students can make programs that are partially text-based and partially visual. Any suggestions? Has anyone done something in the ballpark?
--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
I finally had some time to revisit this. I'm hoping someone can help me out a bit more.
I made a basic renderer that takes arbitrary S-expressions and renders them as bricks. I've made an interface for editing the bricks (and thus editing the S-expressions underneath).
What I would like to do now is seamlessly integrate these brick-expressions (B-expressions?) into arbitrary Racket files using some kind of custom snip%.
Here's a not-working prototype of what it should look like:
Notice that line #9 has the B-expression. Line #7 has a comment showing the equivalent S-expression. Also notice that the B-expression contains a reference to the constant defined in an S-expression on line #5. And vice versa, notice that the S-expression on line #11 references the constant defined in the B-expression. This two-way interoperability between B-expressions and S-expressions within the same file is something I think would be pedagogically valuable.
I'd love to implement this, but I'm looking for suggestions.
Let's just suppose I've implemented a special b-expression-snip% class. (I haven't, but I think I could).
How might I go about getting the above to work. Here are some random, vague, probably-misguided musings about implementations -- meant to stimulate discussion: