The thing that's appealing about s-expression languages is that code-as-data is easy to do because parse, creating and modifying code is dead-easy. Is there some still-very-easy algorithm for parsing things like infix operators or does code-as-data depend on using the facilities of the language.
Edit: I can see Julia does this by reflection and macros. But I'm still curious about the general issues and algorithms involved here.