Yes :wink:
(I did.)
How many people? It seemed like it was quite extensive discussion
Any chance future meetups could be moved to earlier in the day? I’d love to participate but 8pm UTC is 10pm local time and that’s about my bedtime.
Yes.
What if we moved it an hour earlier?
Another option is to split and have separate meet-ups for Europe and the americas
> How many people? I think we were ten.
Some of the topics Dominik <https://racket.discourse.group/t/racket-meetup-saturday-december–4/130/3|listed on Discourse> were discussed maybe only ten minutes. That’s why I was impressed he remembered all these topics. :+1:
> Another option is to split and have separate meet-ups for Europe and the americas Actually I appreciate that we have a common meeting. I’ll very likely never go to the US for an on-site RacketCon, so the meet-up on Gather is a nice chance for me to meet some of the fellow racketeers from there (kind of) in person.
And by the way, it would be nice to have participants also from other countries than “Europe and the americas,” but I don’t know how practical this is timezone-wise. :slightly_smiling_face:
> What if we moved it an hour earlier? I’m fine with that.
The best I can do with the timezones is 7am Pacific time which works out as 11pm for Taiwan.
Worth a try?
There is a racket community in East Asian countries
When using match
from racket/match
, is it possible to match against a value that is not a literal? For example, assume I have (define foo "the value I want to match")
(match (list some-var)
[(list foo) ...])
“Obviously”, this condition doesn’t match since (list foo)
matches against any list with one item and binds the item to the name foo
. This isn’t what I want, though (see above). :wink:
You probably want the == pattern
Thanks! Yes, this seems to work. I didn’t see it because it’s described further down in “Library extensions”, and not under the other patterns. :slightly_smiling_face:
From a user perspective it doesn’t matter it is an extension. Maybe move up (or mention) == and struct* further up the page?
I have a question about Typed Racket
. This code type checks:
(: project-forward ((Immutable-HashTable String (Setof String)) String -> (Setof (U Any String))))
(define (project-forward h s)
(hash-ref h s (λ () (set))))
But I would rather not have a union type in there, and would like it to look more like:
(: project-forward ((Immutable-HashTable String (Setof String)) String -> (Setof String)))
(define (project-forward h s)
(hash-ref h s (λ () (set))))
This does not type check as the hash-ref
defaults to the empty set, which is of type (Setof Any)
. Is there a workaround here? I feel like U Any String
is a broader type than I am trying to convey than “potentially empty sets of string”.
(: project-forward ((Immutable-HashTable String (Setof String)) String -> (Setof String)))
(define (project-forward h s)
(hash-ref h s (λ () ((inst set String)))))
works fine for me
If you execute (:print-type set)
, you will get (All (e) (-> e * (Setof e)))
. And when you see (All (e) ...)
, you can use inst
to manually pick what e
is.
I wasn’t aware of inst
or of :print-type
. That is really useful. Thank you!