
My attempt…:zany_face: https://gist.github.com/sleepnova/f1f824eeed9075b8776fad081ef5953d

Nice, but string->number can take a radix too, directly :wink:

@laurent.orseau radix can only be 2 8 10 16…:rolling_on_the_floor_laughing: https://docs.racket-lang.org/reference/generic-numbers.html?q=number-%3Estring#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29

ah right, too bad. Should be extended :slightly_smiling_face:

@wanpeebaw The continued-fraction package has a nice number parser!

Latest thoughts: I’ve returned to the idea of checking generated .scm
files into the racket
repo, since they should diff well. Using a subtree for Chez Scheme (and doing the same for Chez Scheme’s submodules) and keeping startup.inc
in the repo afte all, that puts everything needed for a given commit in the same repo, which is obviously ideal. It leaves only pb
boot files to manage separately — and boot files are optional in the sense that any recent Racket (v7.1 and up, currently) can build them from checked-in sources.

Storing the boot files in a separate repo could still make sense as a hosting solution, and periodically (or always) force-pushing could avoid a very large history.

What if every new set of boot files lived in its own branch that has only 1 commit? That way, a single commit can be pulled over even the dumb HTTP protocol, and we could periodically purge non-release-tagged commits with no force-push fallout.

I thought about mentioning that idea as well in my message; if it works well with the HTTP protocol that seems like a point in favor

Quickscript Competition Update We are now in our final days - submit your scripts sooner rather than later! prizes still available. End date: 31-July

Hey all,
I’ve released the IntelliJ plugin for Racket I worked on a few months ago. It only does syntax highlighting, so it is not that useful, but I thought I might as well release it as a base for further development.


string->number
in a tight loop is a bit slow due checking parameter values

fyi

Ah, so that’s why. I’ve been wondering. Parameters…

Profile portion from implementation I did with a benchmark running through the whole AAA001 -> ZZZ999 space. 67.7% of the runtime was running string->number (just for the low digits) reference->number [17] 100.0%
[7] 7913(67.7%) 302(2.6%) string->number (unknown source)
parameter-cell [20] 94.9%


That’s the one I ended up with. It takes about 3.8s to run through the space. @notjack’s version runs through in about 1.2s. (on this linux laptop I use)

Added to racket stories


Thanks Stephen!

Thank you for the plugin

->number
in continued fraction is also quite slow sadly.

Some of it looks like from contract checking

@samth do you know what’s the first paper that used the name “guarded”?
(My guess is Vitousek etal DLS 2014. I’m hoping you can save me some reading.)

I was trying to find this out, but didn’t succeed recently

wow. Where did you end up?

I was mostly looking at Herman et al, but they didn’t

Michael V. says DLS’14 was the origin. Before that, he used “wrapping” in STOP’12

Good to know

Thanks for doing the research