You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sometimes you want to test code on some particular syntatic structure - nested context managers perhaps, or binary operators with comments between the clauses (both real examples!).
I was recently explaining to a friend that I couldn't work out how to generate these automatically, because it was really hard to come up with an expressive yet ergonomic way to specify "just enough" structure... and then immediately realized that LibCST Matchers provide exactly that, and we're already working with their node objects anyway for the from_node() strategy.
Let's make a from_matcher() strategy!
I don't even have a design sketch here, but while I expect the implementation to be quite a lot of work, it'll probably be more tedious than especially difficult (relative to, you know, state-of-the-art random program generation without leaning on a fantastic CST library).
The text was updated successfully, but these errors were encountered:
Sometimes you want to test code on some particular syntatic structure - nested context managers perhaps, or binary operators with comments between the clauses (both real examples!).
I was recently explaining to a friend that I couldn't work out how to generate these automatically, because it was really hard to come up with an expressive yet ergonomic way to specify "just enough" structure... and then immediately realized that LibCST Matchers provide exactly that, and we're already working with their node objects anyway for the
from_node()
strategy.Let's make a
from_matcher()
strategy!I don't even have a design sketch here, but while I expect the implementation to be quite a lot of work, it'll probably be more tedious than especially difficult (relative to, you know, state-of-the-art random program generation without leaning on a fantastic CST library).
The text was updated successfully, but these errors were encountered: