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