Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes in PLT Redex breaks the reduction relations #68

Open
Kraks opened this issue Nov 21, 2018 · 2 comments
Open

Changes in PLT Redex breaks the reduction relations #68

Kraks opened this issue Nov 21, 2018 · 2 comments

Comments

@Kraks
Copy link

Kraks commented Nov 21, 2018

Hi,

I'm using Racket 7.1 and trying to play with some reduction relations. However, if I simply run command racket lambdapy-reduction.rkt, the following error is raised. I guess it was due to the changes in PLT Redex.

lambdapy-reduction.rkt:244:9: reduction-relation: shortcut name may not be a non-terminal
  at: e_1
  in: (reduction-relation λπ #:domain p (--> ((in-hole E (list val_c (val ...))) ε Σ) ((in-hole E (pointer-val ref_new)) ε Σ_1) "E-List" (where (Σ_1 ref_new) (extend-store Σ (obj-val val_c (meta-list (val ...)) ())))) (--> ((in-hole E (tuple val_c (va...
  location...:
   lambdapy-reduction.rkt:244:9
  context...:
   do-raise-syntax-error
   /home/kraks/software/racket/share/pkgs/redex-lib/redex/private/reduction-semantics.rkt:660:6: try-next
   /home/kraks/software/racket/share/pkgs/redex-lib/redex/private/reduction-semantics.rkt:659:4: for-loop
   /home/kraks/software/racket/share/pkgs/redex-lib/redex/private/reduction-semantics.rkt:388:0: do-reduction-relation
   apply-transformer-in-context
   apply-transformer52
   dispatch-transformer41
   loop
   [repeats 5 more times]
   module-begin-k
   expand-module16
   expand-capturing-lifts
   expand-single
   temp74_0
   compile16
   temp68_0
   ...

Thanks!

@jpolitz
Copy link
Member

jpolitz commented Nov 26, 2018

Thanks for reporting. I believe this is an instance of this update:

https://groups.google.com/forum/#!topic/racket-users/NMuBaVlcDAU

So the quick approach if you want to try lambda-py reductions would be to run on Racket 6.3.

I did a quick find-and-replace of e_1 and e_2 with e1 and e2 but this broke the tests, so I need to understand the semantics of this a little bit better to understand what parts of the relation to change. Let me know what your needs are – I'm in a busy end-of-quarter time for teaching so if it's OK for me to get to this in late December that would be great, but I don't want you to stall if you need this to work on 7.1 ASAP.

@Kraks
Copy link
Author

Kraks commented Nov 26, 2018

Thanks for the reply! I understand the situation and I can use Racket 6.3 as a fallback. I'm working on a research project that models some transformations on Python programs, so make LambdaPy work with the latest version of Racket in the near future would also be great!

Thanks for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants