Just to clarify, I understand that the several binds of x correspond to the several patterns name in the productions, and the pattern against with we are matching, but I would have expected for the firsts to be discarded, or, if still considered in the resulting match for some reason, that I don't know, I would have expected for the application of the constraint of names, that would have rendered #f the match.
thanks!, Mallku El martes, 21 de diciembre de 2021 a las 17:38:28 UTC-3, Mallku Ernesto Soldevila Raffa escribió: > Hi to everyone!, > I'm trying to test the mechanization of Redex's semantics done in [1], > against the present version of racket, 8.3. I'm using the > random-match-test.rkt > > module from [1] to generate random grammars, patterns and terms, and to > test them > using the proposed mechanization of Redex in [1] and the actual > implementation of > it, in racket 8.3. > > In doing it, I've found an example that I cannot explain in terms of my > understanding > of the behavior of the name pattern: > > (define-language L [A (name x B)] > [B (hole (name x (hole hole)))]) > > (redex-match L (name x A) > (term (hole (hole hole)))) > > The result of the previous match is: > > (list (match (list > (bind 'A '(hole (hole hole))) > (bind 'x '(hole hole)) > (bind 'x '(hole (hole hole))) > (bind 'x '(hole (hole hole)))))) > > Which shows that 'x' is bound to different, non-equivalent, terms. While > I've never used the pattern name explicitly in such a way, while defining > grammars, I'm still curious about what is going on here. Even more, I would > have thought that the following match would return the same result as the > previous: > > (redex-match L (name x (name x B)) > (term (hole (hole hole)))) > > where I just replaced the non-term A by the rhs of its only production, but > what I obtain is: > > #f > > As a side note, the mechanization of Redex in [1] just returns something > equivalent to: > > (bind 'x '(hole (hole hole))) > > In both cases. Does anyone understand the behavior of the shown example > under racket 8.3? > > Thanks in advance!, > Mallku > > [1] : https://link.springer.com/chapter/10.1007%2F978-3-642-25318-8_27 > El jueves, 9 de diciembre de 2021 a las 13:20:31 UTC-3, Mallku Ernesto > Soldevila Raffa escribió: > >> Thanks a lot for the info! If I found any mismatches, I'll report it. >> >> Regards, >> Mallku >> >> El miércoles, 8 de diciembre de 2021 a las 23:32:25 UTC-3, Robby Findler >> escribió: >> >>> I'm sorry, my sentence was ambiguous! I'm saying that I don't know of >>> any other work that is specifically focused on the semantics of Redex. (Of >>> course, there may be work I'm not aware of.) >>> >>> The paper is still a good match, I believe, yes. You're right that the >>> syntactic checks for well-formed grammars have tightened since that era, >>> but if the program is valid, then I think it should match; the underlying >>> algorithms have not changed, only bug fixes have happened. >>> >>> Of course, if you find that this isn't the case, I'd be very interested >>> to hear more :) >>> >>> Robby >>> >>> >>> >>> On Wed, Dec 8, 2021 at 6:34 PM Mallku Ernesto Soldevila Raffa < >>> [email protected]> wrote: >>> >>>> I beg your pardon!, I'm not understanding the answer, what is it that >>>> might be specific of Redex? >>>> >>>> I suspect that the answer is that there isn't some recent work on >>>> formal >>>> semantics specifically about Redex. In that case, does anybody know if >>>> the >>>> already mentioned paper [1] is still a good match for today's semantics >>>> of >>>> Redex? The paper provides a mechanization of the model in Redex, >>>> together >>>> with some tools to test it. Of interest is a tool that asks Redex to >>>> generate >>>> random patterns and terms that match against them, and tests if the >>>> mechanized model is capable of reproducing the matching (or that is what >>>> I suspect that the tests are doing :P ). It was possible to run the >>>> mechanization >>>> on a recent version of Redex, but the generated patterns are ill-formed >>>> (e.g., in-hole p1 p2, where p1 contains more than 1 hole). Of course I >>>> could >>>> provide more details about the error, but I don't know if it is of >>>> interest, it's >>>> a mechanization written for the Redex version that comes with Racket 5.* >>>> or something like that. >>>> >>>> Thanks!, >>>> Mallku >>>> >>>> >>>> [1] : https://link.springer.com/chapter/10.1007%2F978-3-642-25318-8_27 >>>> >>>> El miércoles, 8 de diciembre de 2021 a las 21:03:44 UTC-3, Robby >>>> Findler escribió: >>>> >>>>> I think that might be it specifically about redex, I am sorry to say. >>>>> >>>>> Robby >>>>> >>>>> On Wed, Dec 8, 2021 at 5:28 PM Mallku Ernesto Soldevila Raffa < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi community!, >>>>>> I'm interested in understanding the semantics of PLT Redex, since we >>>>>> are working on a tool >>>>>> to translate fragments of Redex models to Coq. At the moment, we just >>>>>> have a >>>>>> mechanization in Coq of the semantics proposed in a ~10 years old >>>>>> paper [1]. Does >>>>>> anybody know if there is an updated work on formal semantics of Redex? >>>>>> >>>>>> Thanks in advance!, >>>>>> Mallku >>>>>> >>>>>> [1] : >>>>>> https://link.springer.com/chapter/10.1007%2F978-3-642-25318-8_27 >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Racket Users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/racket-users/d794dd4d-34c7-4de8-a4cd-a437dfcc630cn%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/racket-users/d794dd4d-34c7-4de8-a4cd-a437dfcc630cn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Racket Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/racket-users/eba71355-dd8b-4eaa-8f0a-934a50d05ccen%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/racket-users/eba71355-dd8b-4eaa-8f0a-934a50d05ccen%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/1d7cb5b7-d7c2-44a7-b513-bb8280a54f13n%40googlegroups.com.

