

Why does (expt 1 0.0) give 1 (instead of 1.0). If the exponent is inexact 0.0 the power must be approximately 1.0 (and not exact 1)?

Because 1^x is constant 1…

is there a way to always turn on autocompletion instead of having to press control+/ ?

I don’t know if this is a @mflatt or @robby question (or other), but: https://gist.github.com/greghendershott/fdd6ba54571a07a475d2fa918a56a2c9

The answer is that your comment is right and they aren’t the same thing

That’s a reasonable answer.

In some sense it’s a better answer than “let’s enhance identifier-binding
for Racket 7.x”, because it means I can make this work better in Racket Mode even for older versions of Racket, and, know I’m not pre-inventing a wheel.

I think the right question is “how should we support jump to definition in the presence of code transformation” and that should be a mailing list design discussion

That’s a good point. Like, one level is just the renaming. If syntax like racket/contract is going to introduce identifiers like id-provide/contract-bar.1
, maybe it could leave a syntax-property with the original name. OTOH it’s not terribly hard to discover this given the nominal name and a little syntax-walking (which is what I’ve done for some years now, no problem).

The other level (what I was asking about today) is please at least give me the original module path. Also doable with determination and duct tape, but maybe could be supported differently in the future.

And there are probably more levels than I can even imagine, in the most general cases.

Also, it would be great if we were sharing more of the code that was doing these things between racket-mode and drr!

Woah! I just saw your blog post!

Yes we’re now sharing more code. :smile:

Looking at what some of you wrote, it seems like some of the things you did would be better done in the drracket library

?

In this paragraph “In a few cases, I need to extend this …”

… and when I say “better”, I really mean “better for drracket” :wink:

It woudl be totally fine to add new things in that giant list that gets produced

eg the binding occurrences that don’t have any references

and maybe we can avoid you having to walk the expanded syntax yourself? Just the iterator that goes over it is pretty complex.

Well, anyway, it is really great. Thank you!

Rebellion record type pretty printing makes rackunit test failures so much easier to read