Andrew Kent
Andrew Kent
NOTE: these changes haven't been tested yet (although they seem relatively simple/harmless).
This doesn't seem to work - I don't think the rewriting code is called on non-symbols at the moment. More digging required!
Okay, the approach I think is now more-or-less correct. i.e. to rewrite a non-symbol atom, you have to rewrite its string representation. I've tested this manually but haven't added anything...
Okay, now this PR let's users provide a rewriter for _any_ reasonable redex-recognized literal value (i.e. a symbol, string, number, or boolean) and internally redex will worry about which symbol...
Okay. Thanks for the detailed comments! I'll probably come back to this sometime next week and try to see how to tweak things to make it more in line with...
Oh and when you have sec, if you did not see most recent edits if you could glance at them (commit 2b9af0c43adfd27e28bae4455c5207b4e4a392ac) and comment on if that approach is close...
I don't have time I would plan to spend on implementing or trying this in the near future, no. If it's convenient to close this PR for now and/or indefinitely...
I don't have any immediate needs I would use it for, but in the longer term I could easily see using it, yes. I personally liked the idea of added...
Could you elaborate on 'library code should not be raising contract errors'? I don't think I understand what you mean. Surely we're okay with (+ 3 "four") raising a contract...
Thanks for the report! Some preliminary investigation, oddly enough this expression type checks: ```racket (ann '(1 . 2) (Refine [a : (Pairof Integer Integer)] (