

I don’t want to register there, but basically there’s not much more to do I think, apart maybe from compiling to an executable (though I’m not sure of the gain).

Is it possible to exclude a definition from all-defined-out
but at the definition site? Should be clearer with an example: (provide (all-defined-out))
…
(exclude-from-all-defined-out private-function)
(define (private-function …) …)

The syntax property 'not-provide-all-defined
seems to only work for rename transformers

add a scope to definitions and use sites

Thanks, that’s an option indeed, but this requires reorganizing the code and playing with define-values, which is less of a ‘local’ modification than what I ’d like. (Maybe I’ll revert to this if I don’t find something better)

I mean something like (define-syntax scoped
(let ([intro (make-syntax-introducer)])
(λ (stx)
(syntax-case stx ()
[(_ def)
(intro #'def)]))))
(scoped (define f 1))
(scoped (+ f))

It should not require too much reorganizing

wow, I had no idea this existed, it’s pretty neat! (used by module*
and friends maybe?)

I don’t know about existing solutions, but you can implement a custom provide transformer on top of all-defined-out
https://gist.github.com/shhyou/d761013ee0d1ae2cc3d42d5d4750ea4c

That’s a good one too, thanks!

the scope technique is very useful when you want to introduce some identifiers that are visible only to your macros but not to the users

Huh? Slack isn’t listed here.

There are two “Community”

One is under the first section

One is under the last section

Slack is in the latter one

Hmm.

Yeah, I’m not a fan of it. Probably should be merged. Idk.

The first one is limited by its height, so it couldn’t include too many stuff.

But there’s also a lot of wasted horizontal space

I think, it is confusing. A link from the first section to the last section would help.

I fortuitously dodged a bullet by choosing a “mailbox” board representation for my Racket chess engine. I’d forgotten about Racket fixnums being only 60 bits, and a “bitboard” representation makes use of fast 64-bit bitwise operations. Hopefully 60 bits will be sufficient for the Zobrist hashing - I expect it will be.

Am I reading the docs for (random)
correctly, in that it’s a 54-bit random number?

Maybe I should use (crypto-random-bytes n)
and convert to a 60-bit fixnum?

Haven’t checked. If you do, check whether two calls to random
are faster than one using the ffi.

No expert here, but I am thinking about implementing effect handlers in Racket. I am happy to chat.

I think I’ll only be using this at program initialization, so in my case, speed isn’t important. Good randomness is more important, as is reproducibility.

Well, not that I have any specific application, just trying out the examples from the literature (works in the typed land; but the semantics of the effect systems mostly don’t depend on types).

I’m a little bummed that I can’t do an efficient 64-bit bitboard implementation, but at the same time I’m relieved that it’s no longer an option :)


is there a racket video meetup today?

Is this the best way to get a 60-bit random number in Racket? (require math/base)
(random-bits 60)

Maybe? It seems it just calls random
repeatedly getting 29 bits at a time. The 29 is due to 32-bit systems (minus 3 tag bits).
https://github.com/racket/math/blob/master/math-lib/math/private/base/base-random.rkt#L11

Yes. In 9 minutes.

Video meetup in 8 minutes. https://gather.town/app/wH1EDG3McffLjrs0/racket-users

Next Racket users video meet up is 6 March 2021 at 8pm CET, via Gather Town. https://gather.town/app/wH1EDG3McffLjrs0/racket-users\|https://gather.town/app/wH1EDG3McffLjrs0/racket-users Paper for discussion (optional pre-reading) is: To be decided!*
(Note - we do take suggestions if you have something that interests or excites you - and other media would also be considered; blog post, video, package, app - as long as it is Racket related)

How was it? Sorry I missed it, I was in a class (incident command system, Civil Air Patrol).

Eli came and talked a bit about the development of the FFI. Dominik and I talked more about Raspberry Pi and FFI stuff.

drrackets debugger step button cant be spam clicked…. i have to unmouse, re-hover and then click… this is really annoying.. on racket cs 8.0 snapshot from a week ago or so but i think this problem has existed before then, unsure if its already reported or not