
All tests pass on my machine. Could it be a different configuration of drdr?
These tests are about persistent scripts. Apparently all other tests pass, so it’s kind of surprising that these in particular don’t.

When I run with raco test --drdr
it also works fine btw

Oh I see it’s racobc
. Does this mean that the racocs
tests all pass then?


Ah. Then is there a standard procedure to be able to reproduce the failures on my machine? (I’m not running the very latest version, maybe I should start with that)

That would be the first thing I’d try

But in general there are a lot of reasons it might behave differently

Concurrency, different OS, different versions of other software, etc

hello, how is match
, in Racket, implemented? That is, how to implement pattern matching? I like how clean it is.

This is a good intro to how it works: https://www.youtube.com/watch?v=IikGK8XP5_Q

thanks


Is it possible to match
on a promise
?

Probably like: (match a-thing
[(app force <match-the-content>) ...])

If you wanted to be extra safe it would be: [(? promise? (app force ...)) ...]

Oh, I guess force
works on any value though so you probably don’t need that second one.

So, like: [(? promise? <value>) …]
?

No, the app
one is what you want.

Right, so this will match any a
that is a raw value or a promise:

(match a
[(app force v)
v])

Yes

but I’ll need the 2nd one if I need to differentiate between a promise and a raw value

There is an example in Dybvig’s book on implementing pattern matching: https://www.scheme.com/tspl4/examples.html#./examples:h10