Questions tagged [plt-redex]

PLT Redex is a domain-specific language designed for specifying and debugging operational semantics. Given a grammar and the reduction rules, PLT Redex allows interactive exploration of terms and the use of randomized test generation to attempt to falsify properties of a given semantics.

PLT Redex is a domain-specific language designed for specifying and debugging operational semantics. Write down a grammar and the reduction rules, and PLT Redex allows you to interactively explore terms and to use randomized test generation to attempt to falsify properties of your semantics.

PLT Redex is embedded in Racket, meaning all of the convenience of a modern programming language is available, including standard libraries (and non-standard ones) and a program-development environment.

Documentation: The reference manual contains all of the gory details of all of Redex's operators.

19 questions
1
vote
0 answers

Can be implemented a let* like expression in PLT-Redex?

I recently started using PLT-Redex and I wonder if someone can give me some pointers on how to implement a let* expression like in Racket. Right now I can write simple let expressions like this (let (x (+ 2 4)) in (* x 2)) (let (x (+ 2 4)) in (let…
Humberto
  • 328
  • 3
  • 12
1
vote
1 answer

Generating only well-typed terms when testing semantics using PLT-Redex

I'm new to racket and I'm specially interested in using redex. I've done a small model for typed arithmetic expressions as found in Pierce's types and programming languages book. The code is at the following gist:…
Rodrigo Ribeiro
  • 3,198
  • 1
  • 18
  • 26
0
votes
0 answers

Lisp to formalize the China Wall Model

I want to formalize a simple China Wall Model based ong PLT Redex and Scheme. But when I used the tool "stepper" to visualize each different states. The error happened and I never seen it before. set-min-height method of editor-snip%: expects…
0
votes
1 answer

lisp-"car: contract violation expected: pair? given: ()" while destroy an obj in an access control model

Write a procedure to destroy an object in my access control model and simulate every situation. This is my code. (define st1 (term (st 3 2 (,s0 ,s1 ,s2) (,o0 ,o1) ,br ,m1))) (define m1 (term ((,s0 control ,s0) (,s1 (trans ,r1) ,o0) (,s2 ,r2…
1
2